【问题标题】:Set default Detail View Controller when nothing is selected in iPad in Swift (in Split View Controller)?在 Swift 中的 iPad 中未选择任何内容时设置默认的详细视图控制器(在拆分视图控制器中)?
【发布时间】:2015-11-01 11:27:41
【问题描述】:

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

例如,如果应用程序只是在里面加载并且用户没有选择任何东西,详细视图控制器将为ViewControllerDefault,如果用户选择主视图控制器中的任何行,详细视图控制器将为@987654322 @。那么我该如何在 Swift 中做到这一点呢?谢谢!

【问题讨论】:

    标签: ios swift uisplitviewcontroller detailview


    【解决方案1】:

    已经过去了很长时间,我希望它对某人有所帮助。

    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
    
                }
            }
    }
    

    【讨论】:

    • 这个很有用,除了我只懂objective c。我非常讨厌苹果改变语言。现在,这意味着一半的社区不了解另一半!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多