我想创建一个字符串来代替按钮的名称。
例如,我想以编程方式设置按钮的背景。但我希望这个名字来自一个字符串变量。这样,如果我想更改一个名为的按钮的背景图像 Button1,我可以将“Button1”放入我的NSString并将其命名为myButton ...然后将实际的Button1引用为“myButton”
我该怎么做?
答案 0 :(得分:1)
我不太清楚你到底想做什么,但我会猜测。
假设您IBOutlet
引用了UIButton
,就像这样
@interface MyViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton * myButton;
@end
您可以使用KVC在给定属性名称
的情况下更改该按钮的值@implementation MyViewController
- (void)changeBackgroundOfButtonNamed:(NSString *)buttonName {
UIButton * button = [self valueForKey:buttonName];
// Change the background
// ...
}
- (void)whatever {
[self changeBackgroundOfButtonNamed:@"myButton"];
}