【发布时间】:2016-03-22 10:08:45
【问题描述】:
我在一个名为:
的视图中有 16 个按钮@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb1;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb2;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb3;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb4;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb5;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb6;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb7;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb8;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb9;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb10;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb11;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb12;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb13;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb14;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb15;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb16;
我想在 switch 语句中根据不同的条件设置图像的背景。所以我正在做的是我有一个 for 循环
for (int i=1; i<=16; i++) {
int val = [(NSNumber *)[self.valuesArray objectAtIndex:i] intValue];
NSString *newString = [NSString stringWithFormat:@"bb%d",i];
switch (val) {
case 4:
[**self.bb%d** setBackgroundImageNamed:@"s"];
break;
default:
break;
}
}
val 是它当前从NSArray 中选择的值,低于它的是newString,它正在创建所需的字符串。 ** 里面的文字是我坚持的,当然我把** 放在我的自我中以突出问题。我想根据不同的情况更改按钮的背景图像。因此,如果是4,则将其更改为s,如果是0,请将其更改为其他内容。那么我该如何实现呢。我希望我的问题很清楚。
【问题讨论】:
-
你为什么不只是拥有父视图的引用,并为每个按钮分配一个标签,并在需要时通过标签号从引用的视图中获取它们?
-
@Hamdullahshah 使用标签进行视图识别是一种反模式。
-
@Hamdullahshah 虽然这适用于 iOS,但
WKInterfaceObject没有标签属性。
标签: objective-c apple-watch watchos