Mor*_*ess 0 xib uikit ios autoresizingmask iphone-5
我有一些我添加到视图中的自定义按钮-viewDidLoad.我希望它们在视图中垂直居中,如下所示:
self.customButton.center = CGPointMake(98.f, self.view.center.y);
Run Code Online (Sandbox Code Playgroud)
然而,视图高度504.0甚至在3.5"设备上,我期望它416(480 - 20(状态栏高度) - 44(导航栏高度)).
xib中的视图使用"Retina 4 Fullscreen",但将其设置为自由形式并没有帮助.我当然不希望两个xib只是为了解释高度差异.
我知道我可以使用UIScreen但是我希望视图能够意识到高度差异.
编辑:奇怪的是,在-viewWillAppear视图高度正确设置为416.0.为什么[super viewDidLoad]在我之后没有处理这个问题.
人们如何处理这个问题?Autolayout可能会处理这个,但我需要一个兼容iOS5的方法.可以以某种方式自动化处理"居中"吗?
您在iOS5中没有Autolayout,但您仍然拥有自动调整遮罩.如果您在IB中垂直居中视图,请转到检查器并取消选择自动布局蒙版中的垂直支柱和弹簧,视图将在4"和3.5"屏幕上垂直居中.
或者您可以在viewDidLoad方法的代码中执行此操作.只需像现在一样居中视图并设置autoresizingMask,如下所示:
self.customButton.autoresizingMask = (UIViewAutoresizingFlexibleBottomMargin | \
UIViewAutoresizingFlexibleTopMargin);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2671 次 |
| 最近记录: |