我是iPhone
的新手,
我的应用程序中有很多按钮,每个按钮上有一个UILabel
,当用户点击任何按钮时我想从该按钮获取该标签的相应文本。
这是我的代码段,
- (void) buttonClicked:(UIButton*)sender
{
NSString *Txt= sender.titleLabel.text;
NSLog(@"Txt=%@",Txt);
}
但我的日志显示:Txt=null
我们将不胜感激。
答案 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];