Iphone 如何缩放UIScrollView';It’我很满意
我在iPhone上的UIScrollView是480x230,首次显示时的内容是972x230。我需要提供功能,当用户双击UIScrollView时,内容将按比例缩放以适合480x230 UIScrollView。当鼠标再次双击它时,它应该缩小到原来的大小 最好的方法是什么?我已经摸索了几个小时,并认为这将工作Iphone 如何缩放UIScrollView';It’我很满意,iphone,xcode,uiscrollview,zooming,Iphone,Xcode,Uiscrollview,Zooming,我在iPhone上的UIScrollView是480x230,首次显示时的内容是972x230。我需要提供功能,当用户双击UIScrollView时,内容将按比例缩放以适合480x230 UIScrollView。当鼠标再次双击它时,它应该缩小到原来的大小 最好的方法是什么?我已经摸索了几个小时,并认为这将工作 [bodyClockScrollView zoomToRect:bodyClockScrollView.frame animated:YES]; 但似乎什么也没发生 谢谢,如果您能为我
[bodyClockScrollView zoomToRect:bodyClockScrollView.frame animated:YES];
但似乎什么也没发生
谢谢,如果您能为我指出正确的方向,我们将不胜感激。您需要确保设置为scrollview委托的类实现以下方法:
-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
return someView;
}您需要确保设置为scrollview委托的类实现以下方法:
-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
return someView;
}使用CGAffineTransform,我想出了一种做我想做的事情的方法
//bodyCleckScrollView contains a UIView name bodyClock
//get the scale factor required to fit bodyClock inside the iPhone window and resize it...
CGFloat scale = 480/bodyClockScrollView.contentSize.width;
bodyClock.transform = CGAffineTransformScale(bodyClock.transform, scale, scale);
//move bodyClock to the bottom of bodyScrollView.
bodyClock.transform = CGAffineTransformTranslate(bodyClock.transform, 0.0,bodyClockScrollView.frame.size.height-bodyClock.frame.size.height);
//scoll bodyScrollView so that bodyClock is centered in the window
CGPoint offsetPoint = CGPointMake(bodyClock.frame.origin.x, 0.0);
[bodyClockScrollView setContentOffset:offsetPoint animated:YES];
这非常有效,当我想将其缩小到默认大小和位置时,您只需调用
bodyClock.transform = CGAffineTransformIdentity;
使用CGAffineTransform,我想出了一种方法来做我想做的事情
//bodyCleckScrollView contains a UIView name bodyClock
//get the scale factor required to fit bodyClock inside the iPhone window and resize it...
CGFloat scale = 480/bodyClockScrollView.contentSize.width;
bodyClock.transform = CGAffineTransformScale(bodyClock.transform, scale, scale);
//move bodyClock to the bottom of bodyScrollView.
bodyClock.transform = CGAffineTransformTranslate(bodyClock.transform, 0.0,bodyClockScrollView.frame.size.height-bodyClock.frame.size.height);
//scoll bodyScrollView so that bodyClock is centered in the window
CGPoint offsetPoint = CGPointMake(bodyClock.frame.origin.x, 0.0);
[bodyClockScrollView setContentOffset:offsetPoint animated:YES];
这非常有效,当我想将其缩小到默认大小和位置时,您只需调用
bodyClock.transform = CGAffineTransformIdentity;
我希望你,知道如何不获取taps,如果是,你只需要在双击条件下实现你需要的。我希望你,知道如何不获取taps,如果是,你只需要在双击条件下实现你需要的。谢谢,我正在/正在实现此方法。谢谢,我正在/正在实现此方法。