如何在横向模式下制作垂直工具栏,在纵向模式下旋转成为水平工具栏?
How do I make a vertical toolbar in landscape mode that rotates to become horizontal in portrait mode?
我正在创建一个用于设计模型铁路布局的应用程序。我想在底部有一个工具栏,可能在纵向模式下在屏幕顶部,然后当用户将他们的设备旋转到横向时,让工具栏留在屏幕上的同一位置,以便它们在左侧和屏幕右侧并让图标旋转,就像 iOS 上内置相机应用程序中的工具栏一样。我怎样才能做到这一点?我可以在 Xcode 的界面生成器中执行此操作吗?如果不是,具体代码是什么?另外,我正在使用 Swift。谢谢。
为了让toolbar不旋转,代码如下:
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()
}
}
基本上,您必须将导航控制器嵌入到您不想旋转的视图中,将导航控制器的 class 更改为 MainNavigationController
,然后根据需要隐藏导航栏。
我正在创建一个用于设计模型铁路布局的应用程序。我想在底部有一个工具栏,可能在纵向模式下在屏幕顶部,然后当用户将他们的设备旋转到横向时,让工具栏留在屏幕上的同一位置,以便它们在左侧和屏幕右侧并让图标旋转,就像 iOS 上内置相机应用程序中的工具栏一样。我怎样才能做到这一点?我可以在 Xcode 的界面生成器中执行此操作吗?如果不是,具体代码是什么?另外,我正在使用 Swift。谢谢。
为了让toolbar不旋转,代码如下:
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()
}
}
基本上,您必须将导航控制器嵌入到您不想旋转的视图中,将导航控制器的 class 更改为 MainNavigationController
,然后根据需要隐藏导航栏。