UIButtons 的 Objective C 数组(包括处理初始化、操作等)
Posted
技术标签:
【中文标题】UIButtons 的 Objective C 数组(包括处理初始化、操作等)【英文标题】:Objective C array of UIButtons (including taking care of initialization, action, etc.) 【发布时间】:2014-03-13 21:58:05 【问题描述】:我很难制作一组 UI 按钮,而不是制作许多单独的按钮。我正在尝试创建四个并拥有:
ViewController.h:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
IBOutlet UIButton *b0;
IBOutlet UIButton *b1;
IBOutlet UIButton *b2;
IBOutlet UIButton *b3;
@property (nonatomic, strong) UIButton *b0;
@property (nonatomic, strong) UIButton *b1;
@property (nonatomic, strong) UIButton *b2;
@property (nonatomic, strong) UIButton *b3;
@end
ViewController.m:
- (IBAction)b0Click:(id)sender
//Do something
- (IBAction)b1Click:(id)sender
//Do something
- (IBAction)b2Click:(id)sender
//Do something
- (IBAction)b3Click:(id)sender
//Do something
任何帮助将不胜感激。谢谢!
【问题讨论】:
你没有描述问题(数组在哪里?它没有做什么?)。你看过IBOutletCollection
吗?
您是否尝试从界面生成器创建它们?如果是这样,您就没有创建指向您的参考资料的渠道。另请查看IBOutletCollection
。
【参考方案1】:
定义一个IBOutletCollection
:
@property (nonatomic, strong) IBOutletCollection(UIButton) buttons;
现在将所有按钮连接到此集合。
您现在可以通过以下方式访问按钮:
[self.buttons enumerateObjectsUsingBlock:^ (UIButton* button, NSUInteger index, BOOL* stop)
//Do stuff here
];
我必须警告您不要对数组中按钮的顺序做出假设。最好给每个按钮一个标签,然后在action方法中根据他们的标签决定走哪条代码路径。
【讨论】:
以上是关于UIButtons 的 Objective C 数组(包括处理初始化、操作等)的主要内容,如果未能解决你的问题,请参考以下文章
带有分隔线的Objective C UIButton并在选择时更改文本颜色
将NSArray中的每个NSString元素显示为UIButton Objective C
将 NSArray 中的每个 NSString 元素显示为 UIButton Objective C