我正在尝试将我的应用程序从Objective-C传递给Swift,但是我的UIButton
操作遇到了一些从未调用的问题。
UIButton
声明(在页脚视图中):
let footerView = UIView.init(frame: CGRectMake(0, 0, self.view.frame.size.width, 140))
let acceptButton = UIButton(type: .Custom)
acceptButton.userInteractionEnabled = true
acceptButton.setTitle("Accepter", forState: .Normal)
acceptButton.addTarget(self, action: "acceptRequest:", forControlEvents: .TouchUpInside)
acceptButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
acceptButton.titleLabel!.font = UIFont(name: "AvenirNext-Medium", size:16.0)
acceptButton.frame = CGRectMake((self.view.frame.size.width/2)-115, 35,230, 40)
acceptButton.layer.cornerRadius = 4
acceptButton.layer.borderWidth = 1
acceptButton.layer.borderColor = UIColor.customGreen().CGColor
acceptButton.layer.backgroundColor = UIColor.customGreen().CGColor
footerView.addSubview(acceptButton)
return footerView;
行动:
func acceptRequest(sender:UIButton!) {
print("2")
}
我错过了Swift的一些东西?
答案 0 :(得分:0)
我仔细看了看,你的事件应该没问题。我想你说的是UITableView seciton footer View,你是否确定是否返回footerView的高度,如果没有返回footerView高度,该事件也无法响应,因为它超出了父视图显示区域。希望对您有所帮助!
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 44
}
答案 1 :(得分:-2)
试试这个:
footerView.userInteractionEnabled = false