2012-11-25 58 views
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的只是给 '空' 的五倍。但5个按钮正在消失,所以开始工作。

回答

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); 
     } 
    } 
} 
+0

我加入了[挑setHidden:YES]只是为了显示第一部分的作品,它不是实际的程序,所以这不是问题。我试过你的代码,无论如何它也不起作用。 – PappaSmalls