我有一个带有四个不同视图的标签栏控制器。最近,我想将旋转仅用于我的一个观点。我在某处读到了对于制表符控制器,所有子视图都需要在方法YES
中返回shouldAutoRotateToInterfaceOrientation:
。我已经完成了这一切并且一切正常,但是,我只希望一个的视图进入横向模式,而不是全部。我似乎只能在一个全有或全无的情况下得到它,这意味着它要么全部旋转,要么都没有。
答案 0 :(得分:1)
将此添加到仅支持纵向模式的VC:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
return YES;
}
return NO;
}
将此添加到支持横向的VC:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
以上意味着你需要4个VC来控制不是你想要的标签。 您可以做的是在mainVC中添加一个额外的布尔值,默认为NO。 然后,当您打开支持所有方向的特定视图时,您只需将该布尔值置于YES并执行以下代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (myBoolThatAllowsAllOrientations)
{
return YES;
}
if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
return YES;
}
return NO;
}