我有一个简单的UIViewController,我在viewDidLoad中有:
_navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:_navigationBar];
_toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 416, 320, 44)];
[self.view addSubview:_toolbar];
在didRotateFromInterfaceOrientation中,我把:
_navigationBar.frame = CGRectMake(0, 0, self.view.bounds.size.width, 44);
它有效,但我不太喜欢它所做的效果。有任何想法吗? 感谢
答案 0 :(得分:0)
您应该在初始化时为每个视图设置适当的autoresizingMask,而不是在视图旋转时手动更改其框架/边界/位置。 这样,视图旋转将使其子视图自动调整大小(调整)。
例如:
[navigationBar setAutoResizingMask:UIViewAutoresizingFlexibleWidth];
或者您可以使用|组合各种UIViewAutoresizing蒙版运营商。 在每个视图中调整弹簧时,此属性与IB的作用相同(在检查器窗口中)