如何在父uiview中设置uiview大小?

时间:2016-03-23 07:39:37

标签: ios iphone uiview size

我使用以下代码在UIView中设置子UIView(白框)。

float x = 10.0;
float y = 40.0;
float w = self.view.frame.size.width - 20.0f;
float h = self.view.frame.size.height/3.0;
UIView *whiteBox = [[UIView alloc] initWithFrame:CGRectMake(x, y, w, h)];

基本上,我想在父UIView的两个边距上绘制一个10像素的白框。但是,白框的右侧始终超出父视图的边界。看起来self.view.frame.size.width大于实际视图的宽度。我使用iphone5S作为模拟器。 我只是想知道如何设置白盒的正确宽度。

2 个答案:

答案 0 :(得分:0)

你用什么方法做这个?在有机会调整大小并适合屏幕之前,您可能会从故事板中获取父视图宽度的值。

为了避免这样的问题,最好使用自动布局,而不是提供容易出错并且需要时间阅读的这些类型的计算。如果可以,可以在故事板中添加uiview,并使用等于10的常量将前导,尾随,顶部和底部约束添加到superview。

答案 1 :(得分:0)

您可以使用左边距和右边距等约束,以便视图相对于其超视图自动调整。