如果有人触摸了 predeclared ,我想做一个动作UILabel
,例如:
if (label is touched) {
my actions;
}
有没有一种方法/方法可以做到这一点?
如果有人触摸了 predeclared ,我想做一个动作UILabel
,例如:
if (label is touched) {
my actions;
}
有没有一种方法/方法可以做到这一点?
您可以使用手势识别器:
- (void)someSetupMethod {
// ...
label.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGesture = \
[[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(didTapLabelWithGesture:)];
[label addGestureRecognizer:tapGesture];
[tapGesture release];
}
- (void)didTapLabelWithGesture:(UITapGestureRecognizer *)tapGesture {
// ...
}
默认情况下,UILabel
未配置为接受触摸输入。但是,如果您改用 aUIButton
并将其设置为具有自定义外观,则可以使其看起来像(单行)标签并让它响应触摸事件。
您可以将其子类化并覆盖触摸方法。您可能想要覆盖touchesEnded:withEvent:
.
或者只使用 UIButton。
您需要确保 userinteractionenabled 设置为 YES,然后您可以覆盖touchesBegan:withEvent:
只需为 UILabel 类添加一个类别并将您的方法添加到其中。