如何使用iPhone SDK区分动态生成的按钮选择?

如何使用iPhone SDK区分动态生成的按钮选择?,iphone,cocoa-touch,ios4,uibutton,Iphone,Cocoa Touch,Ios4,Uibutton,在我的iPhone应用程序中,我有一系列根据用户选择动态生成的按钮 如何区分所选按钮与其他按钮 我希望当用户选择另一个按钮时,先前选择的按钮在外观上应该回到正常状态。我无法将以前选择的按钮恢复到正常状态 您可以在子视图中循环并设置所有旧样式: - (void)highlightImgWithID:(int)packID { [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop

在我的iPhone应用程序中,我有一系列根据用户选择动态生成的按钮

如何区分所选按钮与其他按钮


我希望当用户选择另一个按钮时,先前选择的按钮在外观上应该回到正常状态。我无法将以前选择的按钮恢复到正常状态

您可以在子视图中循环并设置所有旧样式:

- (void)highlightImgWithID:(int)packID {
    [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isKindOfClass:[UIImageView class]]) {
            [(UIImageView*)obj setHighlighted:([obj tag] == IDtoSelectNext)];
        }
    }];
}

示例是我目前如何在我的应用程序中使用
UIImageView实现它的。您可以将其更改为使用按钮。

您可以在子视图中循环并设置所有旧样式:

- (void)highlightImgWithID:(int)packID {
    [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isKindOfClass:[UIImageView class]]) {
            [(UIImageView*)obj setHighlighted:([obj tag] == IDtoSelectNext)];
        }
    }];
}

示例是我目前如何在我的应用程序中使用
UIImageView
实现它。您可以将其更改为使用按钮。

尝试为每个按钮设置标记,使用

yourButton.tag=intValue; //intValue>0
您的按钮应该如下所示

-(IBAction)buttonAction:(id)sender

保存以前选择的标记,并相应地更改值。

尝试使用为每个按钮设置标记

yourButton.tag=intValue; //intValue>0
您的按钮应该如下所示

-(IBAction)buttonAction:(id)sender

保存以前选择的标记,并相应地更改值。

使用标记标识按钮。 在创建按钮时,您可以将标签指定为按钮的编号,并使用该编号进行标识


yourButton.tag=intNumber

使用标签识别按钮。 在创建按钮时,您可以将标签指定为按钮的编号,并使用该编号进行标识


yourButton.tag=intNumber

您有一组按钮。您可以在数组中循环并检查它是否是被单击的数组

- (IBAction) buttonClicked:(id)sender {
  for(int i; i < [array count]; i++){
     if((UIButton *)sender == (UIButton *)[array objectAtIndex:i])
        //do something
     else
        //do something else
}
-(iAction)按钮点击:(id)发件人{
用于(int i;i<[数组计数];i++){
if((UIButton*)发送方==(UIButton*)[array objectAtIndex:i])
//做点什么
其他的
//做点别的
}

类似的东西。

您有一个按钮数组。您可以在数组中循环并检查它是否是被单击的那个

- (IBAction) buttonClicked:(id)sender {
  for(int i; i < [array count]; i++){
     if((UIButton *)sender == (UIButton *)[array objectAtIndex:i])
        //do something
     else
        //do something else
}
-(iAction)按钮点击:(id)发件人{
用于(int i;i<[数组计数];i++){
if((UIButton*)发送方==(UIButton*)[array objectAtIndex:i])
//做点什么
其他的
//做点别的
}

类似于此。

忘记说我在其他地方使用了标记,因此我无法将标记用作所选的标识符忘记说我在其他地方使用标记,因此无法将标记用作所选的标识符