2

ドラッグ可能なラベルを作成しようとしていました。しかし、ドラッグされたイベントは発生していません (ブレークポイントでチェック)。以下はコードです。

 - (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];
}

前もって感謝します、

4

2 に答える 2

5

エラーを発見しました。実は私も作らなければならなかった

userInteractionEnabled = はい

ラベルだけでなく、ラベルを追加する Imageview についても同様です。

于 2012-09-24T18:51:34.993 に答える
0

ViewController が (.h ファイル) を使用して UIGestureRecognizer のデリゲートであることを確認します。

@interface View : UIView <UIGestureRecognizerDelegate>

そして、次のように設定します。

 gesture.delegate = self;
于 2012-09-24T18:11:31.680 に答える