2012-05-08 13 views
1

エキスパート 私を助けてください!!!!! 私のプロジェクトでは、複数のUIImageviewをプログラム的に作成しています。私は5 imageViewsを追加していこのようUIImageViewにUIPinchgestureを追加する場所、またはUIImageViewに含まれるUIViewには?

-(IBAction)addSymbols:(UIButton *)sender{ 
if (sender.tag ==1) { 
CGRect frame =sender.frame; 
[self.imgView setFrame:frame]; 
self.imgView.userInteractionEnabled = YES; 
[imgView setImage:[sender imageForState:UIControlStateNormal]]; 
[self.view addSubview:imgView]; 
[self addGestureRecognizersToPiece:imgView];} 

....私のコードは以下の通りです各ImageView.i にピンチジェスチャーを追加したいです。今すぐ[自己addGestureRecognizersToPiece:imgView]のコード

- (void)addGestureRecognizersToPiece:(UIView *)piece{ 
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scalePiece:)]; 
[piece addGestureRecognizer:pinchGesture]; 

//In above add gesture on UIImageView directly its not working.. 
//if replace this line by [self.view addGestureRecognizer:pinchGesture]; it's working.. 
//but while pinch whole UIview scale 

[pinchGesture setDelegate:self]; } 

別のバグがUIPinchgestureが正しく個別に複数のUIImageViewsに動作していないです。 あなたは私が各UIImageViewのためuserInteractionEnabled = YESを追加しました私に言ったように

- (void) scalePiece:(UIPinchGestureRecognizer*)paramSender{ 

if (paramSender.state == UIGestureRecognizerStateEnded) { 
self.currentScale = paramSender.scale; 
} 
else if (paramSender.state == UIGestureRecognizerStateBegan && self.currentScale != 0.0f){ 

paramSender.scale = self.currentScale; } 
if (paramSender.scale != NAN && paramSender.scale != 0.0){ 
[paramSender view].transform= CGAffineTransformMakeScale(paramSender.scale, paramSender.scale); 
} 

...すぐに私を返信..私を助けてください。私のコードでも言及します

答えて

0

UIImageViewsでuserInteractionEnabledを有効にする必要があります。これはデフォルトで無効になっています。

さらにヘルプが必要な場合は、scalePiece:コードを表示してください。

+0

- (ボイド)scalePiece:(UIPinchGestureRecognizer *)paramSender { IF(paramSender.state == UIGestureRecognizerStateEnded) {self.currentScale = paramSender.scale ;} else if(paramSender.state == UIGestureRecognizerStateBegan && self.currentScale!= 0.0f){ paramSender.scale = self.currentScale; } if(paramSender.scale!= NAN && paramSender.scale!= 0.0){ [paramSenderビュー] .transform = CGAffineTransformMakeScale(paramSender.scale、paramSender.scale); } 私が言ったように、私はuserInteractionEnabled = YESを各UIImageViewに追加しました。私のコードでも言及してください – Nevpro

+0

誰がそれを読むべきです..あなたのポストplsに入れてください。また、あなたの正確な問題を記述します。何が悪いの?何がうまくいかないのですか? – calimarkus

+0

私の全体のコードを上に掲示しました..私のコードに変更がある場合は、今私に返信してください – Nevpro

0

ScrollViewのサブビューとしてimageViewsを追加します。

次に、scrollViewのscrollView zoomScaleを設定します。 また、scrollViewのデリゲートメソッド、特に以下のものを実装します。

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 

ズームしたいimageViewオブジェクトを返します。

が参照これら UIScrollView

UIScrollViewDelegate

+0

Ohhk ..私もこの1つを試してみます..私はUIPinchgestureをUIscrollviewで置き換え、その代理人によってhanldleを置き換えることを考えていました.Thanx for応答.. – Nevpro

関連する問題