Как мне сделать, если я хочу программно сгенерировать набор кнопок, а затем связать их с IBActions? Легко, если я добавлю кнопки в Interface Builder, но этого я не могу сделать для этого случая.
Программно создавая UIButtons и ассоциируя с IBAction
Ответ 1
Кнопки имеют метод - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
.
Код для использования будет выглядеть следующим образом:
UIButton *myButton = [[UIButton alloc] init...];
[myButton addTarget:something action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
Это предполагает, что ваш IBAction называется myAction
и что something
- это контроллер, для которого это действие определено.
Ответ 2
Сначала создайте кнопку:
UIButton * btn;
btn = [ [ UIButton alloc ] initWithFrame: CGRectMake( 0, 0, 200, 50 ) ];
Затем добавляет действие:
[ btn addTarget: self action: @selector( myMethod ) forControlEvents: UIControlEventTouchDown ];
Затем добавляет кнопку в представление:
[ someView addSubView: btn ];
[ btn release ];