Ios 未调用UITableViewCell选择器中的UIButton
我在从故事板添加的UITableViewCell中有一个UIButton。当我按下按钮时,应调用操作:Ios 未调用UITableViewCell选择器中的UIButton,ios,swift,Ios,Swift,我在从故事板添加的UITableViewCell中有一个UIButton。当我按下按钮时,应调用操作: @IBAction func modifyFavouriteStatus(sender: UIButton) { favouriteBool = false var emptyHeart = UIImage(named: "Red_Heart_Empty_x23px.png")?.imageWithRenderingMode(.AlwaysTemplate) favou
@IBAction func modifyFavouriteStatus(sender: UIButton) {
favouriteBool = false
var emptyHeart = UIImage(named: "Red_Heart_Empty_x23px.png")?.imageWithRenderingMode(.AlwaysTemplate)
favouriteButton.setImage(emptyHeart, forState: UIControlState.Normal)
}
但是,将调用方法didSelectRowatineXpath。我希望只有当我按下电池本身,而不是按钮时,才会调用它
在按钮上启用p.S.用户交互
编辑:
及
简单地说,UITableViewCells有一个contentView。这可以并且将被放置在自定义表格视图单元格中其他视图的前面,以便拾取触摸和检测单元格选择。这样做可能会阻止对其后面任何视图的接触。通过执行cell.contentView.addSubviewcell.FavoriteButton修复了此错误
请注意,在我的故事板中,FavoriteButton已经显示为contentView的子视图,因此这可能会导致您认为它是contentView的子视图。由于某些原因,它不是。请显示您正在设置按钮选择器的位置。它是从用户界面到单元格子类的连接是否使用自动布局?是的,在我的sotyboard@Alessandro请检查一下按钮的宽度。由于未满足的约束条件,可能为零。然后发布你手机的屏幕截图
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("SpotlightCell", forIndexPath: indexPath) as! SpotlightCell
let userObject = self.objectArray[indexPath.section] as! PFUser
cell.passedUser = userObject
if userObject["profileImage"] != nil{
let userImageFile = userObject["profileImage"] as! PFFile
let url = NSString(string:userImageFile.url!)
cell.profileImage.sd_setImageWithURL(NSURL(string: url as String), placeholderImage:UIImage())
}
if userObject["username"] != nil{
let username = userObject["username"] as! String
cell.labelName.text = username
}
//return cell
return cell
}
class SpotlightCell: UITableViewCell {
@IBOutlet weak var profileImage: UIImageView!
@IBOutlet weak var labelName: UILabel!
@IBOutlet weak var favouriteButton: UIButton!
var passedUser : PFUser!
var label : UILabel?
var favouriteBool = false
override func awakeFromNib() {
super.awakeFromNib()
self.selectionStyle = UITableViewCellSelectionStyle.None
self.contentView.backgroundColor = UIColor.clearColor()
self.backgroundColor = UIColor.clearColor()
}
...
//the IBAction was here before
}