我使用以下代码在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作为模拟器。 我只是想知道如何设置白盒的正确宽度。
答案 0 :(得分:0)
你用什么方法做这个?在有机会调整大小并适合屏幕之前,您可能会从故事板中获取父视图宽度的值。
为了避免这样的问题,最好使用自动布局,而不是提供容易出错并且需要时间阅读的这些类型的计算。如果可以,可以在故事板中添加uiview,并使用等于10的常量将前导,尾随,顶部和底部约束添加到superview。
答案 1 :(得分:0)
您可以使用左边距和右边距等约束,以便视图相对于其超视图自动调整。