将UIButton对象名称转换为字符串格式
我的程序中有很多自定义按钮,我需要使用方法来获取它们的名称。我已经想出了如何通过他们的标签获取他们的名字,但只有一个指向它的指针。我需要的是一个字符串中的名字。将UIButton对象名称转换为字符串格式
我使用的是什么样的继承人:
-(void)pickRandomToHide {
for (int check = 1; check <=5; check++)
{
int eventNumber = 1 + arc4random() % 43;
UIButton *pick;
pick = (UIButton *)[_mapImageView viewWithTag:eventNumber];
[pick setAlpha: 0.5];
NSString *buttonName;
buttonName = [pick currentTitle];
NSLog(@"%@",buttonName);
}
}
的NSLog的只是给 '空' 的五倍。但5个按钮正在消失,所以开始工作。
如果我理解正确,您希望能够检索您分配对象的变量名称。
这是不可能的,因为在编译过程中变量名将被其他符号替换。
而且它只是没有必要,因为你总是可以跟踪的指针。如果你的代码取决于变量名称,你做了一些可怕的错误。
你是指什么按钮的“名称”?你的意思是它上面的文字?你可以使用UIButton的textLabel
属性,它将返回一个UILabel。然后,您可以阅读该标签的text
属性以获取该按钮的标题。总之:
NSString *buttonName = pick.titleLabel.text;
标签被称为'titleLabel'and我觉得这个代码与currentTitle方法 – Felix
@Scott不一样的效果,我希望得到实际的UIButton的对象名称。所以如果UIButton * button1;我想buttonName = @“button1”;从我的例子。 – PappaSmalls
啊好吧谢谢,我想我不得不为每个按钮设置一个标题。我没有做错任何事情,我只需要按钮来更改事件上的图片。图像是按钮名称+颜色在结尾处,所以我想我只是检索对象名称并将颜色附加到它,然后将其用于setBackGroundImage: – PappaSmalls