0

我是新手iPhone

我的应用程序中有很多按钮,每个按钮我都有一个UILabel,当用户单击任何按钮时,我想从该按钮获取该标签的相应文本。

这是我的代码片段,

- (void) buttonClicked:(UIButton*)sender
{ 
    NSString *Txt=  sender.titleLabel.text;
    NSLog(@"Txt=%@",Txt);
}

但我的日志显示:Txt=null

任何帮助将不胜感激。

4

2 回答 2

2

我假设你可能在按钮上有 subviewed 标签,如下所示:

 UILabel *lblText = [[UILabel alloc]initWithFrame:button.frame];
 lblText.text = @"NameofButton";
 [button addSubview:lblText];
 [lblText release];

现在按钮点击事件将是这样的:

- (void) buttonClicked:(UIButton*)sender
{ 
  //NSArray *arrSubViews = [sender subviews];
  for (id anObject in [sender subviews]) {
      if([anObject isKindOfClass: [UILabel class]]){
          UIlabel *myLabel = anObject;
          NSString *Txt=  myLabel.text;
          NSLog(@"Txt=%@",Txt);
    }
  }

}
于 2012-07-21T08:47:16.067 回答
0

确保您正在设置标题:

[button setTitle:@"your title" forState:UIControlStateNormal];
于 2012-07-21T08:50:15.507 回答