在 UITableViewCell
中,我试图实现一个 按钮 和 图像 0x2518419 和 0x2518419 图像 0x2518419 0x25181919。
似乎标准 UIButton
无法实现。所以我创建了一个 UIView
,其中包含一个 UIImageView
和一个 UILabel
。
你可以在右侧看到这里的实现,“follow trip”按钮(“+”是一个 UIImageView,“follow trip”是一个 UILabel)
我现在试图使这样的 UIView
(即按钮)可点击,但我找不到方法。
这是我的实现,但它不起作用:class StationsIntroHeader: UITableViewCell {
@IBOutlet weak var bigButton: UIView!
override func awakeFromNib() {
super.awakeFromNib()
let tap = UITapGestureRecognizer(target: self, action: Selector("followTrip:"))
bigButton.addGestureRecognizer(tap)
}
func followTrip(sender:UITapGestureRecognizer) {
print("tap working")
}
}
我已确保 User Interaction Enabled 在 UIView
上为 ON,在 UIImageView
和 0x21341 上为 OFF
最佳答案
对我来说,如下所示的示例设置完全有效:
class TableViewController: UITableViewController {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath)
}
}
class CustomCell: UITableViewCell {
@IBOutlet weak var bigButton: UIView!
override func awakeFromNib() {
super.awakeFromNib()
let tap = UITapGestureRecognizer(target: self, action: Selector("bigButtonTapped:"))
bigButton.addGestureRecognizer(tap)
}
func bigButtonTapped(sender: UITapGestureRecognizer) {
print("bigButtonTapped")
}
}
我没有更改 View 或 ImageView 或标签的任何默认值
userInteractionEnabled
。将我的实现与您的实现进行比较,看看您是否可能忘记了某些东西...连接 socket ?示例项目:https://www.dropbox.com/sh/hpetivhc3gfrapf/AAAf6aJ0zhvRINPFJHD-iMvya?dl=0
为您的项目编辑
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerCell = tableView.dequeueReusableCellWithIdentifier("StationsIntroHeader") as! StationsIntroHeader
headerCell.update()
return headerCell
// return headerCell.update().contentView
}
关于ios - Swift:如何使 UIView 在 UITableViewCell 中可点击?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33659078/