我打算自定义UILabel并使用触摸手势移动它,因此我创建了一个名为CustomLabel的类,它继承自UILabel并实现了以下两种处理触摸事件的方法。但是,CustomLabel无论如何都无法移动!但是,当我用UIView,UIbutton等更改CustomLabel的父类时,它运行良好。所以谁能告诉我这个现象的原因。
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event
{
if(!dragEnable)
{return;}
UITouch *touch = [touches anyObject];
beginPoint = [touch locationInView: self];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if(!dragEnable)
{return;}
UITouch *touch = [touches anyObject];
CGPoint nowPoint = [touch locationInView:self];
float offsetX = nowPoint.x - beginPoint.x;
float offsetY = nowPoinr.y - beginPoint.y;
self.center = CGPointMake(self.center.x+offsetX, self.center+offsetY);
}
如果我的任何问题都是如此基本,我道歉。 任何帮助或建议将不胜感激。
答案 0 :(得分:0)
我道歉,因为我的问题非常基础,而且我找到了解决方案。我忘了为标签对象设置userInteractionEnabled为YES。我很抱歉这个错误。