UIScrollView图像缩放

来源:互联网 发布:mac网络测速工具 编辑:程序博客网 时间:2024/05/19 22:52

UIScrollViewDetegate滚动协议和图像缩放

  • 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容)
  • 如果要是现实缩放功能必须遵从ScrollView代理协议。

图像缩放实现

  • 图像缩放实现
    • 遵从滑动代理协议
        • (void)scrollViewDidZoom:(UIScrollView *)scrollView
    • 设置ScrollView的协议
      • self.scrollView.delegate = self;
    • 设置滚动的尺寸
      • self.scrollView.contentSize = self.minionView.frame.size;
    • 设置缩放比例(如果不设置缩放比例的话,默认是0那么缩放即不起作用)
      • self.scrollView.maximumZoomScale = 2.0;//最大缩放比例
      • self.scrollView.minimumZoomScale = 0.2;//最小缩放比例

滑动协议

  • 缩放协议

    • 当用户开始拖拽scrollView时就会调用
        • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
    • 只要scrollView正在滚动,就会调用
        • (void)scrollViewDidScroll:(UIScrollView *)scrollView
    • 当用户使用捏合手势的时候会调用
        • (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView
    • 正在缩放的时候会调用

        • (void)scrollViewDidZoom:(UIScrollView *)scrollView

      import “MJViewController.h”

      @interface MJViewController ()
      @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
      @property (weak, nonatomic) IBOutlet UIImageView *minionView;
      @end
      // 代理 \ 委托

      @implementation MJViewController

      • (void)viewDidLoad
        {
        [super viewDidLoad];

        // 设置内容尺寸
        self.scrollView.contentSize = self.minionView.frame.size;

        // 设置
        self.scrollView.delegate = self;

        // 设置最大和最小的缩放比例
        self.scrollView.maximumZoomScale = 2.0;
        self.scrollView.minimumZoomScale = 0.2;
        }

      /**

      • 当用户开始拖拽scrollView时就会调用
        */
        • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
          {
          NSLog(@”开始拖拽—–”);
          }

      /**

      • 只要scrollView正在滚动,就会调用
        */
        • (void)scrollViewDidScroll:(UIScrollView *)scrollView
          {
          NSLog(@”—-正在滚动–%@”, NSStringFromCGPoint(scrollView.contentOffset));
          }

      /**

      • 当用户使用捏合手势的时候会调用
        *
      • @return 返回的控件就是需要进行缩放的控件
        */
        • (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView
          {
          NSLog(@”—-开始缩放”);
          return self.minionView;
          }

      /**

      • 正在缩放的时候会调用
        */

        • (void)scrollViewDidZoom:(UIScrollView *)scrollView
          {
          NSLog(@”—-正在缩放”);
          }

        • (void)didReceiveMemoryWarning
          {
          [super didReceiveMemoryWarning];
          // Dispose of any resources that can be recreated.
          }

      @end

0 0
原创粉丝点击