多语言展示
当前在线:560今日阅读:145今日分享:43

UIScrollView缩放代理方法的使用以及注意事项?

UIScrollView的缩放代理方法:// 当scrollView缩放时,调用该方法。在缩放过程中,会多次调用(1)- (void)scrollViewDidZoom:(UIScrollView *)scrollView;// 当将要开始缩放时,执行该方法。一次有效缩放,就只执行一次。(2)- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view// 当缩放结束后,并且缩放大小回到minimumZoomScale与maximumZoomScale之间后(我们也许会超出缩放范围),调用该方法。(3)- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale;// 返回将要缩放的UIView对象。要执行多次(4)- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{    NSLog(@'viewForZoomingInScrollView');    return  self.imgView;}
方法/步骤
1

1.声明控件#import 'ViewController.h'@interface ViewController ()@property(nonatomic,strong) UIScrollView *scrollView;@property(nonatomic,strong)UIImageView * imageView;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    [self createScrollView];}

3

3.UIScrollView的缩放代理方法的实现#pragma mark - 当用户缩放的时候,要设置绽放哪个View要被缩放-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{    return self.imageView;}#pragma mark - 当scrollView缩放时,调用该方法。在缩放过程中,会多次调用- (void)scrollViewDidZoom:(UIScrollView *)scrollView{        NSLog(@'scrollViewDidScroll');    float value=scrollView.zoomScale;    NSLog(@'%f',value);}

注意事项

(1)~(3)的代理的方法的实现必须要结合(4)来使用,否则(1)~(3)代理方法不执行。

推荐信息