2014-11-17 2 views
0

Что-то довольно тривиальное, но я не могу найти ответ (не на этом веб-сайте или в моих книгах Swift).Быстрая кнопка target «self» не работает внутри ViewController ScrollVIew

У меня есть следующая конструкция: - А Scrollview созданной внутри главного ViewController - Внутри этого ScrollView есть еще один ViewController в котором находится все элементы пользовательского интерфейса. - Один из элементов пользовательского интерфейса - это кнопка с назначенной ей целью. Всякий раз, когда я использую эту кнопку, мое приложение падает.

Код для кнопки довольно тривиален:

let button = UIButton.buttonWithType(UIButtonType.System) as UIButton 
button.setTitle("Test Button", forState: UIControlState.Normal) 
button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside) 
view.addSubview(button) 

код, чтобы поймать событие кнопки:

func buttonAction(sender:UIButton!) 
{ 
    println("Button tapped") 
} 

Я подозреваю, что проблема исходит от «я» ключевого слова в addTarget (когда я создаю кнопку с моего основного viewController, она работает нормально. Может ли кто-нибудь сказать мне, как я могу решить эту логику?)

Большое спасибо

ответ

0

Так что я думаю, что понял это.

Я думаю, что я был немного смущен из языков, которые я использовал в прошлом (например, ActionScript).

Что я делал, было создание ViewController с ScrollView и внутри этого ScrollView я бы добавил еще один ViewController со всеми элементами.

Подход, который я сейчас использую, создает ViewController с ScrollView, и теперь я непосредственно добавляю все элементы в ScrollView вместо дополнительного ViewController.

Кнопка теперь работает, поэтому я предполагаю, что вложенность другого ViewController внутри ScrollView просто переполнена и добавляет слой сложности (я полагаю, что компонент ScrollView по умолчанию простирается от UIView, поэтому нет смысла иметь другой вид).

Все

Смежные вопросы