我想创建一个字符串来代替按钮的名称。
例如,我想以编程方式设置按钮的背景。但我希望名称来自字符串变量。这样,如果我想更改一个名为 Button1 的按钮的背景图像,我可以将“Button1”放入我的 NSString 并将其命名为 myButton...然后将实际的 Button1 引用为“myButton”
我该怎么做?
我想创建一个字符串来代替按钮的名称。
例如,我想以编程方式设置按钮的背景。但我希望名称来自字符串变量。这样,如果我想更改一个名为 Button1 的按钮的背景图像,我可以将“Button1”放入我的 NSString 并将其命名为 myButton...然后将实际的 Button1 引用为“myButton”
我该怎么做?
我不太清楚你到底想做什么,但我会试着猜测。
假设你有一个像这样的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"];
}