【发布时间】:2016-03-03 14:57:46
【问题描述】:
目前我已经设置了针对横向模式优化的情节提要。起初我想我只会允许横向。然而,在此过程中,我决定允许这两种选择会更好。我现在所做的是创建一个新的故事板,其中包含纵向布局。
我这样做是因为视图的设置完全不同。有没有办法在运行时根据方向在情节提要之间切换,或者我正在做的事情真的很糟糕,是否建议转向不同的方向。
我认为使用 xib 文件会导致重复代码,我可能完全错了。我很想知道是否可以根据方向切换故事板,如果可以,如何实现。如果这完全是一个好习惯。我现在设置它的方式,故事板都使用相同的视图控制器,所以它们都使用相同的方法/出口
根据 Haroldo Gondim 的 awnser 进行编辑
我把它放在 AppDelegate 的 didFinishLaunchingWithOptions 中。
NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
那么我在应用委托类中也有这个功能
func rotated(){
if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
{
storyboard = UIStoryboard.init(name: "Main", bundle: nil)
}
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
{
storyboard = UIStoryboard.init(name: "portrait", bundle: nil)
}
//self.window?.rootViewController = storyboard?.instantiateInitialViewController()
storyboard?.instantiateViewControllerWithIdentifier("ViewController")
//self.window?.makeKeyAndVisible()
}
我也试过instantiateInitialViewController
但无论我尝试什么都不会改变故事板。它确实以应有的方式进入 if 语句
【问题讨论】:
标签: ios xcode swift xcode-storyboard