访问选定的UILabel值

时间:2014-01-12 22:38:56

标签: ios iphone objective-c uilabel

我创建了一个UILabel并将其连接到使用选择器的方法,我想知道如何访问已与选择器连接的方法中的标签信息和文本。

这是我的代码看起来像

cutField.userInteractionEnabled = YES;
        UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelSelected)];
        [cutField addGestureRecognizer:tapGesture];

然后这是我的方法

- (void) labelSelected {
    NSLog(@"Selected how do i get selected labels text here?");
}

1 个答案:

答案 0 :(得分:2)

我认为您有许多标签,否则您的控制器应该只保留对您的标签的引用(例如cutField类型的UILabel)并使用它。

@interface Controller () {
  UILabel *cutField;
}
@end

概括这个的解决方案有两个步骤。首先,将方法签名更改为包含点击手势的签名。您在init调用中所要做的就是在选择器中添加冒号(:

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] 
    initWithTarget:self action:@selector(labelSelected:)];

该方法现在可以使用手势识别器的view属性来获取它所附加的标签。

-(void) labelSelected:(UITapGestureRecognizer*)recognizer {
    UILabel *label = (UILabel*) recognizer.view;
    NSString *labelText = label.text;
}