以编程方式生成UIButtons并将其与IBAction相关联

Nic*_*oft 16 iphone xcode objective-c ibaction

如果我想以编程方式生成一组按钮然后将这些按钮与IBActions相关联,该怎么办?如果我在Interface Builder中添加按钮很容易,但我不能为这种情况做.

mru*_*ueg 32

按钮有方法- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.

使用它的代码如下所示:

UIButton *myButton = [[UIButton alloc] init...];
[myButton addTarget:something action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

这假定您的IBAction已命名,myAction并且something是定义该操作的控制器.


Mac*_*ade 6

首先,创建按钮:

UIButton * btn;

btn = [ [ UIButton alloc ] initWithFrame: CGRectMake( 0, 0, 200, 50 ) ];
Run Code Online (Sandbox Code Playgroud)

然后添加一个动作:

[ btn addTarget: self action: @selector( myMethod ) forControlEvents: UIControlEventTouchDown ];
Run Code Online (Sandbox Code Playgroud)

然后将按钮添加到视图:

[ someView addSubView: btn ];
[ btn release ];
Run Code Online (Sandbox Code Playgroud)

UIControl参考 UIButton参考