2015-12-29 5 views
-3

Я пытаюсь передать свое приложение с Objective-C на Swift, но у меня есть некоторые проблемы с моим действием UIButton, которое никогда не вызывается.Действие 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) 

возвращение footerView;

Действие:

func acceptRequest(sender:UIButton!) { 
     print("2") 
} 

я пропустил что-то с Swift?

+0

acceptRequest находится в том же классе, что и footerView справа? –

+0

что такое разделFooterHeight? правильно настроен? – jay

+0

Можете ли вы добавить код ?. Какая ошибка вы получаете? Вы видите кнопку? – HyLian

ответ

-2

Попробуйте это:

footerView.userInteractionEnabled = false 
+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/10715401) – MWiesner

+2

@MWiesner Как это не дает ответа? Это может быть неверно, но это не значит, что мы должны удалить его из обзора. Вот для чего нужны downvotes. – Undo

+0

Когда представление контейнера имеет userinteractionenabled, оно иногда блокирует действие subviews. Хотя я не уверен, что это правильный ответ в этом случае, он решает много головных болей в подобных ситуациях – Esqarrouth

0

Я посмотрел на нее внимательно, ваше мероприятие должно быть problem.I не думаю, что вы сказали UITableView seciton сноска вид, вы бы определить, следует ли вернуться к высоте footerView, если нет нижней высоты footerView, событие также неспособно ответить, потому что оно находится за пределами области отображения родительского представления. Надежда может вам помочь!

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