获取iOS视图的实际尺寸

Geo*_*ham 7 uiview addsubview ios

我如何获得我正在控制的视图或子视图的实际尺寸?例如:

UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,100)];
[self addSubview:firstView];

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 20, 230, 120)];
[firstView addSubview:button];
Run Code Online (Sandbox Code Playgroud)

如您所见,我的button对象超出了添加到的视图的尺寸.

这是心灵(假设有许多对象被添加为子视图),我如何确定实际的宽度和高度firstView

Sop*_*oph 4

如果您想让按钮与firstView具有相同的宽度和高度,您应该使用UIView的bounds属性,如下所示:

UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,100)];
[self addSubview:firstView];

UIButton *button = [[UIButton alloc] initWithFrame:firstView.bounds];
[firstView addSubview:button];
Run Code Online (Sandbox Code Playgroud)

要获取firstView的宽度/高度,你可以这样做:

CGSize size = firstView.bounds.size;
NSInteger width = size.width;
NSInteger height = size.height;
Run Code Online (Sandbox Code Playgroud)