iphone - uiview width is zero -
i added uigesture uiview using following code
uipinchgesturerecognizer *pinchrecognizer = [[uipinchgesturerecognizer alloc] initwithtarget:self action:@selector(scale:)]; [pinchrecognizer setdelegate:self]; [holderview addgesturerecognizer:pinchrecognizer]; [pinchrecognizer release]; and code of scalling is
if([(uipinchgesturerecognizer*)sender state] == uigesturerecognizerstateended) { lastscale = 1.0; 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]; lastscale = [(uipinchgesturerecognizer*)sender scale]; oldtransform = newtransform; oldcenter = [(uipinchgesturerecognizer*)sender view].center; the problem before zooming can width , height of holdview after scaling return 0
i use following code display
nslog(@" rectangle %f , %f ,%f, %f ", holderview.frame.origin.x, holderview.frame.origin.y, holderview.bounds.size.width , holderview.bounds.size.height ) ;
another problem when add subview above values return holderview size origin ,.. become 0 suggestion solve
setting transform of view not change values of frame property. if frame reports width 100, might visually 50, or whatever, due transform.
the reason 0 width of frame because either set 0 @ point, or haven't set yet. need provide default size make view visible.
Comments
Post a Comment