我创建了一个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?");
}
答案 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;
}