gpt4 book ai didi

ios - Swift:如何将不同的 UITableViewCell 执行 Segue 到不同的 ViewController?

转载 作者:搜寻专家 更新时间:2023-11-01 06:38:07 24 4
gpt4 key购买 nike

我有一个HomePageTableViewController,它包含三个自定义的TableViewCell,每个TableViewCell包含一个UICollectionView。当用户点击每个 TableViewCell 并转到不同的 ViewController 以显示 CollectionView 的详细信息时,我想执行 segue。我使用了这段代码:

import UIKit
class HomePageTableViewController: UITableViewController, PostDelegate {

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 3
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


if indexPath.section == 0 {

let cell = tableView.dequeueReusableCellWithIdentifier("TableViewCell1") as! HomePageTableViewCell1

cell.getCategory()
// cell.scrollToNextCell()
// cell.startTimer()
cell.postDelegate = self
tableView.rowHeight = 260
return cell
}

else if indexPath.section == 1 {

let cell = tableView.dequeueReusableCellWithIdentifier("TableViewCell2") as! HomePageTableViewCell2

cell.getCategory()
tableView.rowHeight = 140


return cell
}
else {

let cell = tableView.dequeueReusableCellWithIdentifier("TableViewCell3") as! HomePageTableViewCell3

cell.getCategory()
tableView.rowHeight = 470
return cell
}

}


func selectedPost(post: Posts) {
//You will get your post object here, do what you want now

self.performSegueWithIdentifier("goToDetail", sender: post)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {


let post = sender as! Posts

let postDetailPage = segue.destinationViewController as? DetailTableViewController
postDetailPage!.passPost = post


}

无论我点击哪个 TableViewCell,这段代码都会完成工作,它会进入带有标识符“goToDetail”的相同转场。例如,对于 HomeTableTableViewCell2,我想使用标识符“goToDetail2”等执行 segue。我怎样才能做到这一点?

最佳答案

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.section == 0 {
let myWebView = self.storyboard!.instantiateViewControllerWithIdentifier(" Your ViewController") as! Your ViewController
self.presentViewController(myWebView, animated: true, completion: nil)
}
if indexPath.section == 1 {
let myWebView = self.storyboard!.instantiateViewControllerWithIdentifier(" Your ViewController") as! Your ViewController
self.presentViewController(myWebView, animated: true, completion: nil)
}
if indexPath.section == 2 {
let myWebView = self.storyboard!.instantiateViewControllerWithIdentifier("Your ViewController") as! Your ViewController
self.presentViewController(myWebView, animated: true, completion: nil)
}
}

Hope It Help. Thanks.

关于ios - Swift:如何将不同的 UITableViewCell 执行 Segue 到不同的 ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com