我有一个程序要隐藏或显示某些UI按钮,具体取决于某些变量,并且所有按钮都按照'button1,button2,button3'逐步命名。
所以我想迭代按钮,但我不知道如何使用nsstring作为点符号赋值中的变量来解决赋值语句中的按钮,例如:
for (int i = 1; i < weekday; i++) {
int buttonIncrement = 0;
NSString *tempString = [[NSString alloc] initWithFormat:
@"calbutton%i", buttonIncrement];
self.tempString.hidden = YES;
}
分配的“tempString”部分我想告诉它插入“calbuttonx”,其中x是按钮编号。
你能以某种方式这样做吗?如果是这样请解释。
答案 0 :(得分:3)
使用数组!
如果您不能使用数组,则可以使用Key-Value Coding (KVC)字符串引用属性:
UIButton* button = [self valueForKey:tempString];
button.hidden = YES;
答案 1 :(得分:2)
您还可以为IB中的每个按钮分配标签,并使用
获取与标签关联的按钮- (UIView *)viewWithTag:(NSInteger)tag
在课程UIView
上定义,例如:
for( int k = 0; k < 5; ++k ) {
id subview = [self.view viewWithTag: k];
if( subview ) {
...
}
}