【发布时间】:2012-09-24 18:02:19
【问题描述】:
我试图创建一个可以拖动的标签。但是拖动的事件没有触发(用断点检查)。下面是代码。
- (IBAction)InsertText:(UIBarButtonItem *)sender {
UILabel *lblWatermark = [[UILabel alloc] initWithFrame:currentImage.frame];
lblWatermark.text = @"Copyright";
lblWatermark.userInteractionEnabled = YES;
[lblWatermark sizeToFit];
UIPanGestureRecognizer *gesture = [[UIPanGestureRecognizer alloc]
initWithTarget:self
action:@selector(labelDragged:)];
[lblWatermark addGestureRecognizer:gesture];
[currentImage addSubview:lblWatermark];
}
- (void)labelDragged:(UIPanGestureRecognizer *)gesture
{
UILabel *label = (UILabel *)gesture.view;
CGPoint translation = [gesture translationInView:label];
// move label
label.center = CGPointMake(label.center.x + translation.x,
label.center.y + translation.y);
[gesture setTranslation:CGPointZero inView:label];
}
提前谢谢你,
【问题讨论】:
-
您是否尝试过将手势添加到 currentImage 中?即也许 sizeToFit 使 UILabel 太小而无法正常工作。尝试添加到更大的视图...如果这可行,请尝试不使用 sizeToFit。
-
@CSmith 也没有工作。顺便说一句,标签很大。将手势添加到 currentimage 也不会触发事件。
标签: ios cocoa-touch uilabel