我正试图从UITableView Cell
开始,在点击Cell时,转到另一个ViewController
的swift。我有viewController
名为MainMenu,我是UITableView
,我正在尝试点击一个单元格,然后转到我的其他ViewController
。有人可以帮忙吗?
我的UITableView代码名为Main Menu:
class MainMenu: UITableViewController {
// Set Tabs in Table View Controller
var tabs = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Name of Tabs
tabs = ["Scanner","QR-Codes","Cargo","Matrix","Xbox","PS4","Nintendo","Sega","Dreamcast","Xbox360","GameCube","Wii","Challenger","Mustang","Macbook","Logitech"]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tabs.count
}
// Set Tabs in View
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("scannerCell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel!.text = tabs[indexPath.row]
print(tabs)
// return
return cell
}
}
答案 0 :(得分:1)
您将不得不实施2项:
1)在TableView和你想去的ViewController之间创建一个segue。将它命名为独特的东西。
2)在ViewController中创建一个prepareForSegue函数(即MainMenu)。像这样:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "UNIQUE NAME FROM PART 1"
{
if let destinationVC = segue.destinationViewController as? OtherViewController {
// pass an object here if necessary using destinationVC and dot syntax.
}
}
}
答案 1 :(得分:0)
您需要实现tableView
的{{1}}委托方法,并在其中显示新的视图控制器。
您可以使用tableView(_:didSelectRowAtIndexPath:)
的{{1}}方法以模态方式呈现它。
或者如果您正在使用故事板,则从原型单元格创建一个segue到您想要呈现的视图控制器。
答案 2 :(得分:0)
覆盖didSelectRowAtIndexPath,抓取indexPath上的dataSource项,然后显示View Controller
istream_iterator