xcode 以编程方式生成 UIButton 并将它们与 IBAction 关联

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2370031/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 19:09:52  来源:igfitidea点击:

Programmatically generating UIButtons and associate those with IBAction

iphoneobjective-cxcodeibaction

提问by Nicsoft

How do I do if I want to programatically generate a set of buttons and then associate those with IBActions? It's easy if I add the buttons in Interface Builder, but that I cannot do for this case.

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

回答by mrueg

The buttons have the method - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.

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

The code to use this would look like this:

使用它的代码如下所示:

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

This assumes that your IBAction is named myActionand that somethingis the controller for which that action is defined.

这假设您的 IBAction 已命名myAction并且something是为其定义该操作的控制器。

回答by Macmade

First, create the button:

首先,创建按钮:

UIButton * btn;

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

Then adds an action:

然后添加一个动作:

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

Then adds the button to a view:

然后将按钮添加到视图中:

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

UIControl referenceUIButton reference

UIControl 参考UIButton 参考