【发布时间】:2017-06-02 04:52:48
【问题描述】:
我正在创建一个用于设计模型铁路布局的应用程序。我想在纵向模式下在屏幕底部和顶部有一个工具栏,然后当用户将他们的设备旋转到横向时,让工具栏保持在屏幕上的同一位置,以便它们在左侧和屏幕右侧,并让图标旋转,就像 iOS 上内置相机应用程序中的工具栏一样。我怎样才能做到这一点?我可以在 Xcode 的界面生成器中执行此操作吗?如果不是,具体代码是什么?另外,我正在使用 Swift。谢谢。
【问题讨论】:
我正在创建一个用于设计模型铁路布局的应用程序。我想在纵向模式下在屏幕底部和顶部有一个工具栏,然后当用户将他们的设备旋转到横向时,让工具栏保持在屏幕上的同一位置,以便它们在左侧和屏幕右侧,并让图标旋转,就像 iOS 上内置相机应用程序中的工具栏一样。我怎样才能做到这一点?我可以在 Xcode 的界面生成器中执行此操作吗?如果不是,具体代码是什么?另外,我正在使用 Swift。谢谢。
【问题讨论】:
为了使工具栏不旋转,代码如下:
import UIKit
class MainNavigationController: UINavigationController {
override var shouldAutorotate: Bool {
return false
}
}
class MainViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Hide the navigation bar on the this view controller
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
基本上,您必须将导航控制器嵌入到您不想旋转的视图中,将导航控制器的类更改为MainNavigationController,然后根据需要隐藏导航栏。
【讨论】: