Изменить название одной кнопки с другой кнопки IBAction - PullRequest
0 голосов
/ 07 февраля 2012

Есть ли в любом случае доступ к UI-кнопке из другого метода IBAction UI-кнопок при программном создании UI-кнопок? Я смог сделать это с помощью конструктора интерфейса, создав IBOutlet для каждого из них и ссылаясь на них таким образом, но мне нужно создавать кнопки программно, и я не могу понять, возможно ли это?

Спасибо!

1 Ответ

0 голосов
/ 08 февраля 2012

Когда вы создаете кнопки, присвойте их иварам в вашем контроллере. Тогда ваши методы IBAction могут получить доступ к любому из этих иваров при необходимости.

Например, в заголовке контроллера вашего представления вы можете иметь:

@interface MyViewController : UIViewController

@property (nonatomic, retain) UIButton *button1;
@property (nonatomic, retain) UIButton *button2;

@end

В вашей реализации вы бы создали свои кнопки примерно так:

UIButton *b = [[UIButton alloc] init...];
...more setup...
self.button1 = b;
[b release];

...

Тогда в вашем методе IBAction вы можете сделать что-то вроде этого:

-(IBAction)buttonPress:(UIButton *)b
{
    if (b == self.button1)
        // do something to button2
    else
        // do something to button1
}

Имеет смысл? (Это все закодировано по памяти и не проверено, fwiw.)

...