我的应用程序刚刚设置了横向模式。我仅使用 Table View 来在家中添加配件。
我的问题是当我添加一个新配件时,我的应用程序进入纵向模式以打开设置窗口代码
为了配对配件,在成功执行分配后,表格视图返回第一个黑色窗口,但保持纵向模式。我试图通过在 AppDelegate 中稳定这一点
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
if (shouldSupportAllOrientation == true){
return UIInterfaceOrientationMask.Portrait
}
if (shouldSupportAllOrientation == false){
return UIInterfaceOrientationMask.Landscape
}
return UIInterfaceOrientationMask.Landscape
}}
在我的 TableViewController
import UIKit
import HomeKit
class TableViewController: UITableViewController, HMAccessoryBrowserDelegate {
let homeManager = HMHomeManager()
let browser = HMAccessoryBrowser()
let appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var accessories = [HMAccessory]()
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let accessory = accessories[indexPath.row] as HMAccessory
if let home = homeManager.primaryHome {
for room in home.rooms {
if room.name == “Kitchen” {
self.appdelegate.shouldSupportAllOrientation = true
homeManager.primaryHome?.addAccessory(accessory, completionHandler: { (error) -> Void in
if error != nil {
print("ERROR 1 \(error?.localizedDescription)")
}
else {
self.homeManager.primaryHome?.assignAccessory(accessory, toRoom: room, completionHandler: { (error) -> Void in
if error != nil {
print("ERROR 2 \(error?.localizedDescription)")
} else {
print("Accessory Add successfully")
self.appdelegate.shouldSupportAllOrientation = false
self.performSegueWithIdentifier(“goToBlackView”, sender: self)
}})}})}}}
}}
但是当黑色视图返回时,我的设备似乎被锁定在纵向模式,但几秒钟后,只要我使手机迷你摇一摇,黑色视图就会返回横向模式。我该如何克服这个问题?
编辑 :
我已将我的故事板设置为这种模式
但我有这个错误
*** 由于未捕获的异常“UIApplicationInvalidInterfaceOrientation”而终止应用程序,原因:“支持的方向与应用程序没有共同的方向,并且 [HMSetupViewController shouldAutorotate] 返回 YES”