从另一个按钮IBAction更改一个按钮的标题

时间:2012-02-07 19:53:58

标签: ipad ios5 uibutton xcode4.2

在以编程方式创建UI按钮时,是否还有从其他UI按钮IBAction方法访问UI按钮?我能够使用界面构建器为每个人创建一个IBOutlet并以这种方式引用它们,但我需要以编程方式创建按钮,似乎无法弄清楚这是否可行?

谢谢!

1 个答案:

答案 0 :(得分:0)

创建按钮时,将它们分配给控制器中的ivars。然后您的IBAction方法可以根据需要访问任何这些ivars。

例如,在视图控制器标题中,您可能有:

@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。)