Swift 2.0 中的supportedInterfaceOrientationsForWindow

Posted

技术标签:

【中文标题】Swift 2.0 中的supportedInterfaceOrientationsForWindow【英文标题】:supportedInterfaceOrientationsForWindow in Swift 2.0 【发布时间】:2015-09-17 15:19:25 【问题描述】:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask

    return UIInterfaceOrientationMask.Portrait.rawValue.hashValue | UIInterfaceOrientationMask.PortraitUpsideDown.rawValue.hashValue

这曾经在 Swift 1.2 中工作,但是返回行现在抛出这个错误:

二元运算符'|'不能应用于两个 'UIInterfaceOrientationMask' 操作数

我能够使用新类型仅使用 1 个返回值,但我无法让它管道我需要的第二个方向。

这“有效”

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask

  return UIInterfaceOrientationMask.Portrait 

但我“认为”我需要的是:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask

  return UIInterfaceOrientationMask.Portrait | UIInterfaceOrientationMask.PortraitUpsideDown

它显示的错误与我在上面发布的相同。

您知道如何在 Swift 2.0 的 AppDelegate 中正确地将方向设置为 2 个或更多值吗?

【问题讨论】:

【参考方案1】:

尝试新语法:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask 
  return [.Portrait, .PortraitUpsideDown]

【讨论】:

很好奇你是怎么想出来的!

以上是关于Swift 2.0 中的supportedInterfaceOrientationsForWindow的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 中的录制设置:Swift 2.0

Swift 2.0 中的远程控制 (MPNowPlayingInfoCenter)

处理 Swift 2.0 中的转换错误

如果 swift 2.0 中的 let nil 没有按预期工作

Swift 中 AFNetworking 2.0 中的 Web 服务调用问题

将 NSData 转换为! swift 2.0 中的 CFDataRef