获取按钮名称为字符串格式

时间:2012-11-25 11:42:54

标签: objective-c

我的程序中有很多自定义按钮,我需要使用方法来获取它们的名称。我已经想出了如何通过他们的标签获取他们的名字,但我似乎无法通过它来使用字符串格式的名称。

继承我正在使用的东西:

-(void)pickRandomToHide {
    for (int check = 1; check <=5; check++)
    {
        int eventNumber = 1 + arc4random() % 43;
        UIButton *pick;
        pick = (UIButton *)[_mapImageView viewWithTag:eventNumber];
        [pick setHidden:YES];
        NSString *buttonName;
        buttonName = [pick currentTitle];
        NSLog(@"%@",buttonName);
    }
}

NSLog只给出'Null'五次。但是5个按钮正在消失,所以开始工作。

1 个答案:

答案 0 :(得分:0)

您没有看到任何标题的原因是因为按钮被隐藏和禁用,而标题可能只设置为当按钮的控制状态为“正常”(启用且可见)时出现。 Here's more information from Apple on the UIButton control states

尝试这样做:

-(void)pickRandomToHide {
    for (int check = 1; check <=5; check++)
    {
        int eventNumber = 1 + arc4random() % 43;
        UIButton *pick = (UIButton *)[_mapImageView viewWithTag:eventNumber];
        if(pick)
        {
            [pick setHidden:YES];
            NSString *buttonName = [pick titleForState: UIControlStateNormal];
            NSLog(@"%@",buttonName);
        } else {
            NSLog( @"hmmm, no button with a tag corresponding to event number %d", eventNumber);
        }
    }
}