iphone - how to make an ImageView zoomable with or without ScrollView.? -
i have uimageview
in ib
, added map image on uimageview
. want make image pinch zoomable.
here code:
- (void)viewdidload { [super viewdidload]; self.title = @"map"; self.mapimageview.contentmode = uiviewcontentmodescaleaspectfit; [self.mapscrollview addsubview:self.mapimageview]; [self.mapscrollview setcontentsize:cgsizemake(self.mapimageview.frame.size.width, self.mapimageview.frame.size.height)]; [self.mapscrollview setminimumzoomscale:1.0]; [self.mapscrollview setmaximumzoomscale:4.0]; } - (uiview *)viewforzoominginscrollview:(uiscrollview *)scrollview { return self.mapimageview; }
but doesn't help, can see uiscrollview
coming nothing happen image.
in advance.
try this
//at viewdidload (or whare create mapimageview) uipinchgesturerecognizer *pinchrecognizer = [[uipinchgesturerecognizer alloc] initwithtarget:self action:@selector(scale:)]; [pinchrecognizer setdelegate:self]; [mapimageview addgesturerecognizer:pinchrecognizer]; mapimageview.userinteractionenabled=yes; -(void)scale:(id)sender { [yourview bringsubviewtofront:[(uipinchgesturerecognizer*)sender view]]; if([(uipinchgesturerecognizer*)sender state] == uigesturerecognizerstateended) { lastscale = 1.0; //global float variable. return; } cgfloat scale = 1.0 - (lastscale - [(uipinchgesturerecognizer*)sender scale]); cgaffinetransform currenttransform = [(uipinchgesturerecognizer*)sender view].transform; cgaffinetransform newtransform = cgaffinetransformscale(currenttransform, scale, scale); [[(uipinchgesturerecognizer*)sender view] settransform:newtransform]; }
Comments
Post a Comment