ios - UIScrollView not zooming -


so, have uiscrollview doing fine zooming @ first. have minimum , maximum zoom scales set , necessary delegate method set -(uiview*)viewforzoominginscrollview:(uiscrollview*)scrollview;. had 2 subviews set on (one small 1 of ball), , obviously, 1 zoom out , in other didn't (the ball view). wanted change both scale correctly, added smaller view (ball) other's list of subviews. however, there no zooming. can post code if necessary, wondering if issue sounds familiar , if have answer offer.

edit: here's code

header file

@interface numberlinescroll : uiscrollview {      numberline* nline;      id <uiscrollviewdelegate> delegate; }  @property(nonatomic, retain)id <uiscrollviewdelegate> delegate;   - (numberline*)getline;  @end 

main file

#import "numberlinescroll.h"  @implementation numberlinescroll  @synthesize delegate;  - (id)initwithframe:(cgrect)frame {      self = [super initwithframe:frame];     if (self) {          [self setuserinteractionenabled:yes];          nline = [[numberline alloc] initwithframe:cgrectmake(0, 0, 2100, 400)];         [self addsubview:nline];          self.minimumzoomscale = 0.5;         self.maximumzoomscale = 3.0;     }     return self;  }  - (numberline*)getline {return nline;}  - (void)touchesbegan:(nsset *)touches withevent:(uievent *)event {}  - (void)touchesmoved:(nsset *)touches withevent:(uievent *)event {}   - (void)dealloc {     [nline release];     [super dealloc]; }   @end 

this scroll view. nline view ball view , line drawn during drawrect. here's method implementations in delegate class:

- (void)scrollviewdidscroll:(uiscrollview *)scrollview {}  - (void)dotest {nslog(@"test");}  -(uiview*)viewforzoominginscrollview:(uiscrollview*)scrollview {return [nline getline];}  -(void)scrollviewdidendzooming:(uiscrollview *)scrollview withview:(uiview *)view atscale:(float)scale {      nslog(@"zoom ended"); }  - (void)scrollviewdidzoom:(uiscrollview *)scrollview {     ball* ball = [[nline getline] getball];     cgpoint newcenter = ball.center;     newcenter.y = ball.center.y * scrollview.zoomscale;     newcenter.x = ball.center.x * scrollview.zoomscale;     [[nline getline] changeballoc:newcenter]; } 

i think want managing subview when zoomin/out going on placed on uiscrollview

take care 2 things firstly return largesubview(contains ball view subview) on zooming time below delegate method.

-(uiview*)viewforzoominginscrollview:(uiscrollview*)scrollview {    return largesubvew   //here view contains smallview(ball) mentioned changed } 

manage small view's position zoomin/out scrollview.

- (void)scrollviewdidzoom:(uiscrollview *)scrollview {  cgpoint newcenter = smallerviewcenter;  //smallerviewcenter contains center point of smallerview(say ball),has set @ load time, , once  newcenter.y = smallerview.y * scrollview.zoomscale;  //new center calculated on original position  newcenter.x = smallerview.x * scrollview.zoomscale;  smallerview.center = newcenter;   } 

Comments

Popular posts from this blog

user interface - Python attempting to create a simple gui, getting "AttributeError: 'MainMenu' object has no attribute 'intro_screen'" -

jquery - Common JavaScript snippet to share files on Google Drive, Dropbox, Box.net or SkyDrive -

Android Gson.fromJson error -