gpt4 book ai didi

iOS - 自定义 UITableViewCell 中的点击识别器无法正常工作

转载 作者:行者123 更新时间:2023-11-28 07:00:09 24 4
gpt4 key购买 nike

我正在使用 Xcode 7 Beta、Swift 2我有一个带有自定义 tableViewCell 的 TableView 。在自定义单元格中有一个 UIImageView 和标签。我也为这个 tableViewCell 定义了一个 testCell 类。在图像上(在表格内)我添加了 UITapRecogniser。我还启用了用户交互

问题:目前我在表中有 3 行。当我点击前两行的图片时。什么都没发生。当我单击最后一行中的图像时 - 该操作会在控制台上打印“DEF”。这与行数无关 - 即使更改为 4、5 或其他任何内容后问题仍然存在。基本上只有最后一行中的图像会被点击。不知道为什么??下面是代码:

//Defining custom class for the TableViewCell
class testCell : UITableViewCell{
@IBOutlet weak var testLabel: UILabel!
@IBOutlet weak var testImage: UIImageView!
}

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

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

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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! testCell
cell.testLabel?.text = "ABC"
cell.testImage?.image = UIImage(named: "Santa")
return cell

}

@IBOutlet weak var tableView: UITableView!

//TapGestureRecogniser Function
@IBAction func imageTap(sender: AnyObject) {
print("DEF")
}

最佳答案

将添加手势识别器调用从 testCell 移动到 cellforrowatindexpath。

   let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! testCell
cell.testLabel?.text = "ABC"
cell.testImage?.image = UIImage(named: "Santa")
let cellTapRecognizer = UITapGestureRecognizer(target: self, action:Selector("imageTap:"))
cellTapRecognizer.cancelsTouchesInView = false
cell.testImage?.addGestureRecognizer(cellTapRecognizer)

关于iOS - 自定义 UITableViewCell 中的点击识别器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32245559/

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