如何使用导航栏项转到其他视图控制器?
Posted
技术标签:
【中文标题】如何使用导航栏项转到其他视图控制器?【英文标题】:How to go to other view Controller using Navigation Bar Item? 【发布时间】:2017-03-12 19:12:43 【问题描述】:这是我的 TableViewController: Cells will segue to First controller
import UIKit
class SubjectsTableViewCell: UITableViewCell
@IBOutlet weak var subjectImage: UIImageView!
@IBOutlet weak var subjectName: UILabel!
class AddQuestionTableViewController: UITableViewController
var Subjects = ["Geology", "Mathematics", "Computer", "English", "History", "Science"]
override func viewDidLoad()
super.viewDidLoad()
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return (Subjects.count)
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
performSegue(withIdentifier: "pickedSubjectSegue", sender: Subjects[indexPath.row])
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
let next = segue.destination as! SubViewController
next.myLabel = sender as! String
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! SubjectsTableViewCell
cell.subjectName?.text = Subjects[indexPath.row]
cell.subjectImage?.image = UIImage(named: (Subjects[indexPath.row] + ".jpeg"))
return cell
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
如何使用添加导航栏项移动到第二个视图控制器?
我尝试了什么:ctrl + 拖动然后模态 - 失败。
我应该使用 action 还是 segue?但我已经在表格单元格中使用了 segue。
非常感谢任何帮助。谢谢
【问题讨论】:
【参考方案1】:将seque
连接到second view controller
并为其命名,而不是连接到first view controller
的segue,即pickedSubjectSegue
示例:“secondSegue
”
然后在prepareSegue
方法中,在执行任何操作之前检查两个segue 的标识符:
代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
if segue.identifier = "pickedSubjectSegue"
let next = segue.destination as! SubViewController
next.myLabel = sender as! String
else
//Write your code here
【讨论】:
以上是关于如何使用导航栏项转到其他视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章