- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有多个 View Controller 的应用程序,其中大部分应该能够有任何方向,但一个必须是纵向的。但是,应用程序忽略了我从 supportedInterfaceOrientations() 返回的值
我的代码:
UINavigationController subclass:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if let topViewController = self.topViewController {
return topViewController.supportedInterfaceOrientations()
}
return [.Landscape, .Portrait]
}
override func shouldAutorotate() -> Bool {
if let topViewController = self.topViewController {
return topViewController.shouldAutorotate()
}
return true
}
UIViewController subclass
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .Portrait
}
override func shouldAutorotate() -> Bool {
return true
}
当我在横向兼容的 View Controller 中转到本应为纵向的 View Controller 时,没有任何反应 - 应用程序不会自动旋转到纵向。
我也从 info.plist 中删除了支持的界面方向。有什么想法吗?
最佳答案
你可以在 AppDelegate.swift
中设置它们,在这个函数中
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow) -> Int {
return checkOrientationForVC(self.window?.rootViewController?)
}
在这个函数中你可以做类似的事情:
func checkOrientationForVC(viewController:UIViewController?)-> Int{
if(viewController == nil){
return Int(UIInterfaceOrientationMask.All.rawValue)//All means all orientation
}else if (viewController is SignInViewController){ //Your View controller here
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}else{
return checkOrientationForVC(viewController!.presentedViewController?)
}
}
还在“方向”的“模拟指标”下的 Storyboard 中设置方向。您还可以看到这个 Stackoverflow's post.
关于ios - 应用忽略 supportedInterfaceOrientations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40677004/
SO 中有几个关于未发生方向更改的类似问题,但似乎都没有解决此处的问题。 具体来说,我正在使用supportedInterfaceOrientations 和 preferredInterfaceOr
我有带三个 UIViewController 的 Tab Bar Controller 应用程序,所有这些都在 Storyboard中完成。 设备方向设置为所有方向,颠倒除外。 对于一个 UIView
我有一个项目,其中所有 View 都只能是纵向 View ,除了一个只有横向 View 且不能自动旋转的 View 。我在项目设置中将支持的方向设置为纵向和横向。然后我为每个 View Control
supportedInterfaceOrientation 应该只在 viewDidLoad 时调用一次,但在我的例子中,每次模拟器旋转时都会调用它。 我只需要两个方向 potrait 和 portr
我有一个带有多个 View Controller 的应用程序,其中大部分应该能够有任何方向,但一个必须是纵向的。但是,应用程序忽略了我从 supportedInterfaceOrientations(
我正在使用 Storyboard快速构建应用程序。它由 UITabBarController 组成, 一个 UINavigationController and three UIViewControl
我想要一些 ViewControllers 风景和一些肖像,所以这就是我所做的: 我启用了横向模式: 接下来我将这些代码行添加到我想成为肖像的 View Controller 中: -(NSUInte
所以我有一个可以旋转到任何方向的根 Controller 和一个使用 supportedInterfaceOrientations 只显示横向模式的 View Controller - (NSUInt
我的 Root View Controller 对 supportedInterfaceOrientations 的实现几乎总是返回 UIInterfaceOrientationMaskAll,但是有
我有一个包含以下代码的 UIViewController: - (BOOL) shouldAutorotate { return NO; } -(NSUInteger)supportedIn
升级到 Xcode 7.0 后,我在 UIViewControllerRotation 方法中收到警告:- (NSUInteger)supportedInterfaceOrientations: Co
我有一个非常复杂的问题(或者我认为如此)。我正在处理遗留应用程序修复一些问题,并使其支持 4 英寸显示器和 iOS 7。问题是该应用程序的体系结构非常复杂,有几个类别和方法调配以在 iOS 4.3 中
我有一个应用需要一直处于纵向模式,播放视频时除外。为了在我的项目设置中为 VideoController 启用横向模式,我启用了所有受支持的方向模式。然而,这也允许我的其他 Controller 旋转
我搜索了这个问题的答案,但找不到任何解决我问题的方法。 问题来了:我有一个自定义的 UINavigationController,在创建它时,在 rootViewController 上调用了 sup
我有一个 UITabBarController 子类,它有以下代码: class TabBarController: UITabBarController { // MARK: Methods ove
当两个警报一一出现时,我的意思是一个警报出现,另一个警报出现并且应用程序崩溃。我使用 UIAlertController 来显示警报。应用程序仅在 iOS 9 设备中崩溃。 此时请帮助我。 最佳答案
在我的应用中,我有多个 View ,一些 View 需要同时支持纵向和横向,而其他 View 只需要支持纵向。因此,在项目摘要中,我选择了所有方向。 以下代码用于在 iOS 6 之前禁用给定 View
在 iOS 5 ,我的应用程序我使用该方法来改变我的方向: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation
只是一个简单的问题。假设我已将应用程序更新到 iOS6 并更改了 iOS5 的 shouldAutoRotate 方法,如下所示: - (BOOL) shouldAutorotate { return
我知道这个问题之前在这里被问过 iOS 6 shouldAutorotate: is NOT being called .但我的情况有点不同。 最初,在应用程序启动时,我加载了一个 viewContr
我是一名优秀的程序员,十分优秀!