从UITableViewCell调用UIButton动作
我dynamic地在我的UITableviewCell类中创build了几个button,如下所示:
for (clientObjectId, _) in connectedObjectIds { self.clientNameButton = UIButton(type: UIButtonType.System) as UIButton self.clientNameButton.titleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail self.clientNameButton.frame = CGRectMake(self.leftSideSpaceForUsersAndUserLabel, clientNameButtonFrameHeight, self.nameButtonWidth, self.nameButtonHeight) self.clientNameButton.setTitle(self.userObjectIdsAndNames[clientObjectId], forState: UIControlState.Normal) self.clientNameButton.titleLabel!.font = UIFont(name: "Helvetica", size: 12.0) self.clientNameButton.addTarget(self, action: "asdf:", forControlEvents: UIControlEvents.TouchUpInside) self.nameButtons.append(self.clientNameButton) self.addSubview(self.clientNameButton) }
但是,我似乎无法find一种方法来调用我的表视图单元格类中的以下function:
func asdf(sender:UIButton) { print("Button tapped") }
我不太在乎能够在我的UITableViewCell类中调用它,就像在我的表视图类中调用函数一样。
有人有解决这个问题?
for (clientObjectId, _) in connectedObjectIds { self.clientNameButton = UIButton(type: UIButtonType.System) as UIButton self.clientNameButton.titleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail self.clientNameButton.frame = CGRectMake(self.leftSideSpaceForUsersAndUserLabel, clientNameButtonFrameHeight, self.nameButtonWidth, self.nameButtonHeight) self.clientNameButton.setTitle(self.userObjectIdsAndNames[clientObjectId], forState: UIControlState.Normal) self.clientNameButton.titleLabel!.font = UIFont(name: "Helvetica", size: 12.0) self.clientNameButton.addTarget(self, action: "asdf:", forControlEvents: UIControlEvents.TouchUpInside) self.nameButtons.append(self.clientNameButton) self.addSubview(self.clientNameButton) }