假设我有一个处理点击事件的事件处理器:
-(void) handleOptionTapFrom: (UITapGestureRecognizer*) recognizer
{
if (recognizer.state == UIGestureRecognizerStateEnded)
{
UIView* target = recognizer.view;
}
}
我可以通过 UITapGestureRecognizer
实例的 view
属性获取指向 UIView
对象的指针。问题是我只能通过基类 UIView
指针访问它。如果目标是子类,例如 UILabel
,我如何通过子类指针访问 View ,以便我可以对标签执行特定操作(例如更改文本颜色或其他任何内容。)
如果我知道 UIView
实例肯定是 IS A,我应该在这里沮丧吗? UILabel
?
最佳答案
如果您确定 View 是 UILabel 类,请使用:
UILabel* target = (UILabel *)recognizer.view;
如果你不确定,你可以检查一下
if ([recognizer.view isKindOfClass:[UILabel class]]) {
UILabel* target = (UILabel *)recognizer.view;
}
关于ios - 在 UIGestureRecognizer 事件处理程序中获取指向事件目标的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222587/