【发布时间】:2011-11-24 13:39:56
【问题描述】:
考虑上面的屏幕截图。 UIView 位置太靠上导致上部测试字符串部分关闭,并且底部屏幕上显示了一个间隙。屏幕截图还显示了它在 IB 中对应的定位值:x = 0 和 y = 20。所以实际上有一个偏移量(y = 20)默认清除顶部状态栏。但是显示的状态栏仍然覆盖了部分 UIView。
x, y 条目显示为灰色,因此似乎无法更改其值。花了相当长的时间,但仍然无法解决这个看似简单的问题。希望熟悉这方面的人可以提供一些提示,说明应该如何完成。
更新:
已按照建议在代码中完成。它似乎工作正常。如果您发现任何错误,请告诉我...
- (void)viewDidLoad
{
CGRect position_and_size;
CGPoint cg_point;
CGSize cg_size;
[super viewDidLoad];
// setup after loading the view from its nib.
NSLog(@" --- Screen loaded --- ");
cg_size.width = 320;
cg_size.height = 460;
cg_point.x = 0;
cg_point.y = 20;
position_and_size.origin = cg_point;
position_and_size.size = cg_size;
[[self view] setFrame : position_and_size];
}
.
以下是最新截图:
【问题讨论】:
-
尝试使用自动调整蒙版。或者在 viewDidLoad 方法中(在您的视图控制器中)调整视图框架以从 20 的偏移量开始 y 位置。
-
不确定这是否是自动调整大小的蒙版。但我将“模拟指标”大小从无更改为“iPhone/iPod touch 全屏”,偏移量保持不变。
-
您想在每次视图移出屏幕时自行计算 position_and_size 吗?请改用父视图的
view.bounds属性。 -
@Condor,感谢您的评论。但是从文档来看, bounds 是一个属性。所以我们需要至少指定一次。如果我错了,请纠正我。
标签: iphone cocoa-touch xcode4