gpt4 book ai didi

ios - 限制某些 View 的自转

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:42 27 4
gpt4 key购买 nike

我的应用程序包含两个 TableView Controller 。在第一个中,我希望 View 能够左右旋转(除了纵向模式),但是在第二个 TableView Controller 中(我在点击第一个表中的单元格后导航到它)我想要它只能以纵向模式查看。我试过这段代码,但没有用,它一直在旋转。

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

- (BOOL) shouldAutorotate {
return NO;
}

注意:我确实从项目目标的摘要选项卡中启用了左/右/纵向方向。任何修复?

最佳答案

为 UINavigationController 创建一个类别,其中包括以下方法:

(适用于 iOS 6 和 iOS 5)

- (BOOL)shouldAutorotate
{
return self.topViewController.shouldAutorotate;
}

- (NSUInteger)supportedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return [self.topViewController shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
}

然后在你的 Controller 中实现这些方法

首先:

- (BOOL)shouldAutorotate {
return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
if (RUNNING_IPAD) {
return UIInterfaceOrientationMaskAll;
}
else {
return UIInterfaceOrientationMaskAllButUpsideDown;
};
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
if (RUNNING_IPAD) {
return YES;
}
else {
return toInterfaceOrientation != UIInterfaceOrientationMaskPortraitUpsideDown;
}
}

其次:

- (BOOL)shouldAutorotate {
return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return NO;
}

项目的旋转设置应该如下所示:

Settings

关于ios - 限制某些 View 的自转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835084/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com