从UIButton获取UILabel的文本

时间:2012-07-21 08:09:31

标签: iphone ipad uibutton uilabel buttonclick

我是iPhone的新手,

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

这是我的代码段,

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

但我的日志显示:Txt=null

我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

我假设您可能在按钮上有子视图标签,如下所示:

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

}

答案 1 :(得分:0)

确保您使用以下标题设置标题:

[button setTitle:@"your title" forState:UIControlStateNormal];