我有一个iPhone应用程序。我正试图让它成为普遍的新的xib。从UI方面来说,我的应用程序非常简单直接,我只有一个UIImageview和一些工具栏。
我遇到了一个问题,我将我的顶部工具栏设置为0,0但是当它是iPad时它出现在我的屏幕中间。
topToolBar.frame = CGRectMake(0, (-1 * topToolBar.frame.size.height), topToolBar.frame.size.width, topToolBar.frame.size.height);
我最初隐藏工具栏并显示它,如果你点击屏幕(在iPhone上正常工作)。当我尝试将工具栏隐藏在iPad上时,它位于屏幕中间。当我记录帧时,它会显示(0,-44,320,44),这意味着它仍然认为屏幕大小是(480,320)的iphone。
有趣的部分是当我使用我的点击功能来显示/隐藏工具栏时,它的行为正确,框架为(0,-44,768,44)。
我的隐藏/显示动画块是:
[UIView animateWithDuration:.2
delay:0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
topToolBar.frame = CGRectMake(0, (-1 * topToolBar.frame.size.height), topToolBar.frame.size.width, topToolBar.frame.size.height);
}
completion:nil];
它与我用来尝试最初隐藏工具栏的代码相同。任何想法发生了什么?
答案 0 :(得分:0)
我猜这是工具栏的自动调整掩码的问题。如果您在Interface Builder中创建它,请确保底部的支柱是灰色的,并且其他三个侧面的支柱都会突出显示,如下所示:
如果您是以编程方式创建工具栏,则可以将其autoresizingMask
设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin
。