2010-02-17 105 views
1

这段代码有没有捷径?隐藏按钮/图像快捷方式?

-(IBAction)reset{ 
    button1.hidden=NO; 
    button2.hidden=NO; 
    button3.hidden=NO; 
    button4.hidden=NO; 
    button5.hidden=NO; 
    button6.hidden=NO; 
    button7.hidden=NO; 
    button8.hidden=NO; 
    button9.hidden=NO; 
    button10.hidden=NO; 
    button11.hidden=NO; 
    button12.hidden=NO; 
    button13.hidden=NO; 
    button14.hidden=NO; 
    button15.hidden=NO; 
    button16.hidden=NO; 
    button17.hidden=NO; 
    button18.hidden=NO; 
    button19.hidden=NO; 
    button20.hidden=NO; 
    button21.hidden=NO; 
    button22.hidden=NO; 
    button23.hidden=NO; 
    button24.hidden=NO; 
    button25.hidden=NO; 
    button26.hidden=NO; 
    button27.hidden=NO; 
    button28.hidden=NO; 
    button29.hidden=NO; 
    button30.hidden=NO; 
    button31.hidden=NO; 
    button32.hidden=NO; 
    button33.hidden=NO; 
    button34.hidden=NO; 
    button35.hidden=NO; 
} 

回答

1

确实必须有方法:)它真的取决于你如何创建和存储你的按钮。你可以将它们存储在阵列中的一个循环处理它们:

for (UIButton* button in buttonsArray) 
    button.hidden = NO; 

您也可以在创建它们分配一个唯一的tag属性一个UIButton(此属性在UIView定义,并在其所有子类可用)。这样,你不需要为按钮单独的存储,你也可以把他们藏在一个循环:

for (int tag = min_tag_value; tag < max_tag_value;++tag) 
    // Assume that self.view is a view that contains your buttons 
    [self.view viewWithTag:tag].hidden = NO; 
0

你也可以使用Key Value Coding

我认为这将是这样的:

for (int i = 1; i <=35; i++) 
{ 
    [self setValue:NO forKey:@"[NSString stringWithFormat:@"button%d", i]]; 
}