在Swift中的iPad中没有选择任何内容时(在拆分视图控制器中),设置默认的详细视图控制器?

时间:2015-08-09 12:59:45

标签: ios swift uisplitviewcontroller detailview

我想知道在Swift中的iPad中的主视图控制器中没有选择任何内容时,如何设置默认的详细视图控制器。

例如,如果应用程序只是在内部加载而用户没有选择任何内容,则详细视图控制器将为ViewControllerDefault,如果用户选择主视图控制器中的任何行,则详细视图控制器将为ViewControllerResult。那我怎么能在Swift中做到这一点?谢谢!

1 个答案:

答案 0 :(得分:2)

很长一段时间过去了,我希望它有所帮助。

func viewDidLoad() {
        //..
        let initialIndexPath = NSIndexPath(forRow: 0, inSection: 0)
        self.tableView.selectRowAtIndexPath(initialIndexPath, animated: true, scrollPosition:UITableViewScrollPosition.None)

        if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
            self.performSegueWithIdentifier("ShowDetail", sender: initialIndexPath)
        }
}

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "ShowDetail" {
            if sender!.isKindOfClass(UITableViewCell) {
                if let indexPath = self.tableView.indexPathForCell(sender as! UITableViewCell) {

                    // Get row from selected row in tableview

                }
            } else if sender!.isKindOfClass(NSIndexPath) {
                let tableCell = self.tableView.cellForRowAtIndexPath(sender as! NSIndexPath)
                let indexPath = self.tableView.indexPathForCell(tableCell!)

                // Get row from sender, which is an NSIndexPath

            }
        }
}