Программно генерировать кнопки UIB и связывать их с IBAction - PullRequest
16 голосов
/ 03 марта 2010

Как мне поступить, если я хочу программно сгенерировать набор кнопок, а затем связать их с IBActions? Это легко, если я добавлю кнопки в Интерфейсный Разработчик, но я не могу сделать для этого случая.

Ответы [ 2 ]

32 голосов
/ 03 марта 2010

Кнопки имеют метод - (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 - контроллер, для которого определено это действие.

6 голосов
/ 03 марта 2010

Сначала создайте кнопку:

UIButton * btn;

btn = [ [ UIButton alloc ] initWithFrame: CGRectMake( 0, 0, 200, 50 ) ];

Затем добавляет действие:

[ btn addTarget: self action: @selector( myMethod ) forControlEvents: UIControlEventTouchDown ];

Затем добавляет кнопку к представлению:

[ someView addSubView: btn ];
[ btn release ];

Ссылка UIControl UIButton reference

...