将NSString强制转换为UIButton类型
|
我试图将字符串转换为按钮类型。基本上,我会遍历5个名为btn1,btn2..btn5的按钮。这是代码段:
- (IBAction)replaceImg
{
UIButton* b;
for(int i=0; i<5; i++)
{
b = (UIButton*)[NSString stringWithFormat:@\"btn%d\",i]; //1!
if([b isHighlighted])
{
int imgNo = (arc4random() % 6) + 1;
UIImage *img = [UIImage imageNamed:[NSStringstringWithFormat:@\"%d.png\", imgNo]];
[b setImage:img forState:(UIControlState)UIControlStateNormal];
}
}
}
标记为1的行存在问题,如果我将其与b = btn1交换,则可以正常工作。请帮忙!
我也找不到通过其名称访问按钮的方法。像UIImage一样具有imageNamed之类的东西。
没有找到相关结果
已邀请:
3 个回复
久坡
转换为
,因为两者是完全不同的类型。 使用
的tag属性为每个
分配唯一的编号,并且在任何时间点都可以使用viewWithTag访问它们。
仇聘发栖
骚瓤
不是
,因此将其强制转换为1不会起作用。好吧,它可能在语法上起作用,但在逻辑上,它将失败。您根本无法像
一样与with1互动。如果您需要按名称查找按钮,则可以保留指向这些按钮的指针(在数组,映射中或者作为普通实例变量,以几种方式命名),或者可以使用类似
的名称。