0

我想创建一个字符串来代替按钮的名称。

例如,我想以编程方式设置按钮的背景。但我希望名称来自字符串变量。这样,如果我想更改一个名为 Button1 的按钮的背景图像,我可以将“Button1”放入我的 NSString 并将其命名为 myButton...然后将实际的 Button1 引用为“myButton”

我该怎么做?

4

1 回答 1

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"];
}
于 2013-03-14T02:52:47.287 回答