0

我的应用程序刚刚设置了横向模式。我仅使用 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”

4

0 回答 0