0

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

这是我正在使用的:

-(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 个按钮正在消失,所以开始工作了。

4

1 回答 1

0

您看不到任何标题的原因是按钮被隐藏和禁用,而标题可能仅在按钮的控制状态为“正常”(启用和可见)时才显示。以下是 Apple 提供的有关 UIButton 控件状态的更多信息

尝试这样做:

-(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);
        }
    }
}
于 2012-11-25T11:53:05.687 回答