我有一个带有四个不同视图的标签栏控制器。最近,我想只为我的一种观点加入轮换。我在某处读到,对于选项卡控制器,所有子视图都需要YES
在方法中返回shouldAutoRotateToInterfaceOrientation:
。我已经这样做了,一切正常,但是,我只希望其中一个视图进入横向模式,而不是全部。我似乎只能在全有或全无的情况下得到它,这意味着它要么全部旋转,要么不旋转。
问问题
708 次
1 回答
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;
}
于 2011-10-25T07:22:18.910 回答