我使用UITableViewCell控制器在表中配置动态单元格,并且我想在单击特定点击手势时执行segue
class PostCell: UITableViewCell {
@IBOutlet var actionComments: UIImageView!
var post: FeedPost!
let postID: String = ""
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(likeTapped))
tapGesture.numberOfTapsRequired = 1
actionLike.addGestureRecognizer(tapGesture)
actionLike.isUserInteractionEnabled = true
let commentGesture = UITapGestureRecognizer(target: self, action: #selector(goToComments))
commentGesture.numberOfTapsRequired = 1
commentGesture.delegate = self
actionComments.addGestureRecognizer(commentGesture)
actionComments.isUserInteractionEnabled = true
}
func goToComments(sender: UITapGestureRecognizer) {
}
}
这是我的PostCell类(为了这篇文章,我刚刚删除了额外的代码)这是我的tableview,这是我的newsfeedvc
class NewsFeedVC: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var posts = [FeedPost]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let post = posts[indexPath.row]
if let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell") as? PostCell {
cell.configureCell(post: post)
return cell
} else {
return PostCell()
}
}
}
我已将segue设置为identifer但我不能在postcell类的goToComments函数中使用performsegue?
答案 0 :(得分:1)
要解决您的问题,您有两种选择。
创建一个Boat Net Targeted Species Yellow Perch
Dawn Marie 37 Yellow Perch 500
Kraig K 35 Yellow Perch 400
Dawn Marie 36 Yellow Perch 1100
Dawn Marie 34 Yellow Perch 2000
Lake Lady 30 Yellow Perch 900
Dawn Marie 31 Yellow Perch 1200
Kraig K 33 Yellow Perch 1600
Dawn Marie 44 Yellow Perch 400
Lake Lady 42 Yellow Perch 800
Dawn Marie 40 Yellow Perch 500
Dawn Marie 38 Yellow Perch 600
Lake Lady 39 Yellow Perch 400
并使用delegate/protocol
实现它,并在NewsFeedVC
内创建一个in实例。在此之后,PostCell
中的delegate
方法中的cellForRowAt
使用该委托并调用您在goToComments
中实现的方法并在该方法中执行segue。
不是在NewsFeedVC
方法中添加手势,而是在awakeFromNib
方法中添加手势,而不是在cellForRowAt
内显示其操作方法。现在您可以轻松执行您的segue。