将UIButton对象名称转换为字符串格式

时间:2012-11-25 17:17:46

标签: objective-c 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只给出'Null'五次。但是5个按钮正在消失,所以开始工作。

2 个答案:

答案 0 :(得分:1)

你是什么意思按钮的“名字”?你的意思是它的文字吗?您可以使用UIButton的textLabel属性,该属性将返回UILabel。然后,您可以读取该标签的text属性作为按钮的标题。简而言之:

NSString *buttonName = pick.titleLabel.text;

答案 1 :(得分:1)

如果我理解正确,您希望能够检索您为其分配对象的变量名称 这是不可能的,因为变量名在编译期间会被其他符号替换。

但它也不需要,因为你总能跟踪指针。如果您的代码取决于变量名称,那么您做了一些可怕的错误。