UIButton操作不起作用

时间:2015-12-29 11:17:10

标签: ios swift uibutton

我正在尝试将我的应用程序从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的一些东西?

2 个答案:

答案 0 :(得分:0)

我仔细看了看,你的事件应该没问题。我想你说的是UITableView seciton footer View,你是否确定是否返回footerView的高度,如果没有返回footerView高度,该事件也无法响应,因为它超出了父视图显示区域。希望对您有所帮助!

func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 44
}

答案 1 :(得分:-2)

试试这个:

footerView.userInteractionEnabled = false