質問

私のビューでは、UIImageViewの配列があります。私はパンジェスチャーを追加しようとしました、私のUiimageViewは移動することができます。しかし、問題は私が配列に2番目のUIImageViewを挿入した後、前のUIImageViewに触れたときにUIImageViewを移動することができます。

現在のUIImageView内にタッチを制限する方法は?

- (void)addNewImageToArray: (UIImage *)inImage
{
    UIImageView *tempImageView = [[UIImageView alloc]initWithImage:inImage];
    tempImageView.userInteractionEnabled = YES;
    tempImageView.center = self.vwDesktop.center;

    CALayer * l = [tempImageView layer];
    [l setBorderWidth:2.0];
    [l setBorderColor:[[UIColor grayColor] CGColor]];

    tempImageView.frame = CGRectMake(0,0,inImage.size.width,inImage.size.height);    

    [currentImageArray addObject:tempImageView];

    UIPanGestureRecognizer *stampPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveStamp:)];
    [stampPanGesture setMinimumNumberOfTouches:1];
    [stampPanGesture setMaximumNumberOfTouches:1];
    [[currentImageArray objectAtIndex:currentImageArray.count - 1] addGestureRecognizer:stampPanGesture]; 

    [self.vwDesktop addSubview:[currentImageArray objectAtIndex:currentImageArray.count - 1]];  
}
.

役に立ちましたか?

解決

Gesture RecognizerをTempimageViewに追加しないのは、CurrentImageArray?

Mavestampのコードを本当に見る必要があります。これを行っている方法に基づいて、認識者を問い合わせて、そのビューがあるのか尋ねてからそのビューを移動する必要があります。あなたはそれをやっていますか?便利なコードがありませんが、次のようになります。

- (void)moveStamp:(UIPanGestureRecognizer*)panRecognizer {
    UIView *viewToMove = panRecognizer.view;
    // move the view around
}
.

Panrecognizerは、それが機能するように見えるだけであることを指します。私はこれを画面上の多くのオブジェクト(たとえば私のアプリQplusを参照)、パン、ピンチ、タップジェスチャーを組み合わせて、それらすべてが一緒に素敵に遊ぶ。

頑張って、

ダミアン

他のヒント

あなたはあなたの問題を解決するためにuiimageviewのタグを使うことができます。

- (void)moveStamp:(UIGestureRecognizer *)gesture
{
    NSInteger tag = gesture.view.tag;
    if (tag = currentViewTag) {
        return;
    }
    //...
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top