我有FirstViewController
TabBarController
和NavigationController
(TabBarController> NavigationController> UIViewController)
当按UIButton
上的firstViewController
时,它会推送到SecondViewController
。
SecondViewController *vc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"BVC"];
vc2.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:vc2 animated:YES];
在SecondViewController
的右下角有一个UILabel
,带有约束 - (宽度相等,高度相等,TrailingSpaceToSuperView = 16,BottomSpaceToBottomLayoutGuide = 20)
结果在iphone4s(IOS7)上工作正常,但在iphone6(IOS8.1)上,UILabel
将首先出现在右下角加上“BottomBar height”约1秒然后将更新为正确地方(BottomSpaceToBottomLayoutGuide = 20)
当我将pushViewController
动画设置为NO时,UILabel
会立即显示在正确的位置。
[self.navigationController pushViewController:vc2 animated:NO];
有人遇到同样的问题吗?
答案 0 :(得分:6)
我已经解决了这个问题。选择BottomSpaceToBottomLayoutGuide约束的底部。
答案 1 :(得分:0)
@ Jenny的方法现在隐藏在Xcode 7中,但您可以打开故事板作为源代码,找到此约束并手动将其设置为" bottom"。要简化搜索,只需从Identity Inspector复制其ObjectID。