UiimageViewジェスチャーの配列
-
13-11-2019 - |
質問
私のビューでは、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;
}
//...
}
. 所属していません StackOverflow