uiviewcontroller中的设备方向更改[重复]

Posted

技术标签:

【中文标题】uiviewcontroller中的设备方向更改[重复]【英文标题】:device orientation change in uiviewcontroller [duplicate] 【发布时间】:2015-09-15 17:09:05 【问题描述】:

我想在设备方向发生变化时在 UIViewcontroller 中捕获事件并相应地更改视图内容。但是,执行此操作的函数似乎已被弃用。如何解决?

【问题讨论】:

【参考方案1】:

在“didFinishLaunchingWithOptions”函数内的 AppDelegate.swift 中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)

然后在 AppDelegate 类中放入以下函数:

func rotated()

    if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
                
        println("landscape")
    

    if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
    
        println("Portrait")
    


【讨论】:

我想捕捉视图控制器中的方向变化。我不明白如何用上面的例子来捕捉这个事件。 如果您没有设置 AppDelegate,您可以将 NotificationCenter... 行放在 View Controller 的 viewDidLoad 中,并将 func rotated() 添加为 View Controller 的附加功能

以上是关于uiviewcontroller中的设备方向更改[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在设备方向更改时交叉淡入某些 UIView

设备方向更改时更改 UIImage

UIViewController动画等到动画完成

我可以观察 UIViewController 何时更改 interfaceOrientation 吗?

UIViewController 包含方向更改

当设备方向发生变化时,UIViewController 不会更新视图的约束