接上篇,tableview我们实现一个点击cell跳转到detail view的功能
首先点击Main.storyboard中的TableView,Editor->Embed in->Navigation Controller
Storyboard中你可以看到TableView与新建立的NavigationViewController的关系。
新建一个类,命名为DetailViewController。
在构造函数中增加如下代码,不然view跳转时会报错。
init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
回到ViewController,在点击Cell的逻辑中增加如下代码实例化新的DetailViewController
var detail:DetailViewController = self.storyboard.instantiateViewControllerWithIdentifier("detail") as DetailViewController
self.navigationController.pushViewController(detail,animated:true)
完成跳转
在StoryBoard中增加一个ViewController,并关联到DetailViewController并命名为detail,与代码中的detail关键字关联。
好了,可以Run一下看看效果。
然后在DetailViewController中增加成员变量
@IBOutlet
var capitalLabel: UILabel
var capitalString: String = "";
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
capitalLabel.text = capitalString
}
UILable用来显示capitalString中的字符,capitalString用来传递ViewController中要赋值给detailViewcontroller的值。
在Storyboard中增加一个label,并关联到capitalLable
ViewController点击跳转时中增加要显示的字符赋值操作。
detail.capitalString = self.items[indexPath.row]