我在标签上添加了一个点按手势,但我无法在选择器功能中检索点按的标签。我的意思是,例如,我的功能是这样的:
-(void)changeLabel:(UIGestureRecognizer *)sender{}
如果在imageview上添加此手势,我可以使用sender.view获取imageview 但是因为它是一个uilabel我不知道得到它然后改变文本内容。
希望我的问题很明确......
答案 0 :(得分:2)
将交互设置为启用,然后像平常一样添加。
我的例子:
- (void)viewDidLoad
{
[super viewDidLoad];
self.mainLabel.text = @"This is my label";
UITapGestureRecognizer *tapRecongizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeText)];
self.mainLabel.userInteractionEnabled = YES;
[self.mainLabel addGestureRecognizer:tapRecongizer];
}
-(void)changeText
{
NSArray *randomNames = @[@"Jim", @"Bob", @"John", @"Peter"];
self.mainLabel.text = [randomNames objectAtIndex:arc4random() % 4];
}
答案 1 :(得分:1)
将您的UILabel的userInteractionEnabled
属性设置为YES。我相信这个属性在新的UILabel实例中默认为NO。
self.yourLabel.userInteractionEnabled = YES;
答案 2 :(得分:0)
使用相同的框架
在UILabel
的顶部添加一个清除按钮
然后为按钮触摸创建IBAction
,并处理更改其中的标签文本。
答案 3 :(得分:0)
您可以在标签上方添加UIButton,该标签与标签具有相同的框架,且不透明度非常低,并让按钮执行操作。