我想知道在Swift中的iPad中的主视图控制器中没有选择任何内容时,如何设置默认的详细视图控制器。
例如,如果应用程序只是在内部加载而用户没有选择任何内容,则详细视图控制器将为ViewControllerDefault
,如果用户选择主视图控制器中的任何行,则详细视图控制器将为ViewControllerResult
。那我怎么能在Swift中做到这一点?谢谢!
答案 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
}
}
}