- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的应用中有一些 View 不想支持方向。在 didFinishLaunchingWithOptions
我添加导航:
...
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:self.viewController];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
...
在每个 ViewController
中我都有 UITabBar
(我不知道这是否重要)。
在我添加的第一个 View Controller 中:
-(BOOL)shouldAutorotate {
return NO;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
supportedInterfaceOrientations
在 View 加载时调用,但 shouldAutorotate
在我旋转设备时不调用。
我在这里缺少什么?
最佳答案
这是因为 UITabBarcontroller
和 UINavigationController
都没有将 shouldAutorotate 传递给它的可见 View Controller 。要解决这个问题,您可以子类化 UITabBarController 或 UINavigationController 并从那里转发 shouldAutorotate:
在你的子类 UITabBarController 添加:
- (BOOL)shouldAutorotate
{
return [self.selectedViewController shouldAutorotate];
}
在你的子类 UINavigationController 中添加:
- (BOOL)shouldAutorotate
{
return [self.visibleViewController shouldAutorotate];
}
关于iphone - IO6 不调用 -(BOOL)shouldAutorotate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996293/
我试图根据用户在我的应用程序中的位置来定义支持的方向,但我很难做到这一点。 到目前为止,我发现我应该使用 iOS6 中现在支持的supportedInterfaceOrientationsForWin
我对 iOS 中的自动旋转方法有点困惑。我正在为我的应用程序使用 Swift,它包含一个标签栏 Controller 和一个导航栏 Controller 。 问题是我希望所有 View Control
我知道如果 VC 有 navigationController 它应该包含一些类似 this 的东西.但是 swift 呢?如何使用navigationController在VC中调用shouldAu
我正在使用 Swift4 使用 Xcode9 开发一个应用程序,它最初仅适用于 iPad,但现在也需要在手机上运行。我需要将手机锁定为纵向,而 iPad 保持纵向/横向。 在使用 shouldauto
我正在制作一款仅在播放视频时支持横向播放的应用。否则,所有场景仅支持纵向。我已经在项目设置中检查了纵向、左右横向。我在 ViewControllers 中编写了以下代码,我想将其限制为仅纵向。 ove
我有一个 UIViewController 详细 View ,它是从 UINavigationController 中的 UITableView 推送的。在 UIViewController 中,我添
我的应用程序(iPad;iOS 6)是仅横向应用程序,但是当我尝试使用 UIPopoverController 来显示照片库时,它会抛出此错误:支持的方向与应用程序没有共同的方向,并且 shouldA
我的应用只有横向模式,使用这段代码我可以拍照 @IBAction func shootPhoto(sender: UIBarButtonItem){ if UIImagePickerContr
我有一个非常烦人的问题,我已经为此奋斗了几个小时。我有一个只能纵向运行的应用程序,但当我播放视频时,我希望它能横向播放。 据我所知,解决这个问题的方法是更改 Info.plist 以允许横向、横向
我的应用中有一些 View 不想支持方向。在 didFinishLaunchingWithOptions 我添加导航: ... UINavigationController *nav = [[UINa
这个问题在这里已经有了答案: Supported orientations has no common orientation with the application, and shouldAut
我知道这个问题之前在这里被问过 iOS 6 shouldAutorotate: is NOT being called .但我的情况有点不同。 最初,在应用程序启动时,我加载了一个 viewContr
我有一个 UINavigationController 和一个 UIViewController (VC1) 推到它上面。 VC1 包含一个collectionView。当用户点击一个单元格时,一个子
我的应用使用了多个库。基本上 KYDrawerController .我希望我的应用程序仅使用 potrait 方向,但对于一个 ViewControllar,我需要横向和 Potrait。 我在互联
我正在使用 iOS 6 和 Xcode 4.5 在 Storyboard 中开发一个带有标签栏和一些导航 View Controller 的应用程序 通常应用程序应该支持所有界面方向,但我有两个 Vi
即使我将 shouldAutoRotate 设置为 false,我也有一个正在旋转的 View (InfoVC)。这是打开 View 的代码(在模式内) - (IBAction)presentInfo
如何设置指定的页面旋转而不使其自动旋转?我发现只有当var shouldAutorotate返回yes时屏幕才能旋转,但我不想自动旋转,我想自己控制旋转的时刻 最佳答案 swift 4+: 使用以下代
我的第一个 View Controller 是 LoginViewController。我正在尝试支持 iOS 6 上的自动旋转管理。 我已经实现了 shouldAutorotate 而不是 shou
我有一个由单个 View Controller 组成的简单应用程序。我从 Xcode 7 GM 单 View 应用程序模板开始,但随后删除了主 Storyboard,并像这样设置我的 View Con
我发现 7.1 和 8 之间的 UIViewController shouldAutorotate 方法有一个小的行为变化。苹果View Controller Programming Guide指出在
我是一名优秀的程序员,十分优秀!