zoukankan      html  css  js  c++  java
  • UIScrollView缩放图片操作

    要想ScrollView缩放,必须告诉缩放那个控件,它自身的大小是不会缩放的;

    并且ScrollView只能缩放自己内部的子控件;

    1:这时就要用到代理,代理告诉ScrollView缩放哪个控件。(设置代理对象)

    2:要想成为ScrollView的代理就要遵守协议:UIScrollViewDelegate (遵守协议)

    3:成为代理后实现协议里的方法;viewForZoomingInScrollView;这个方法是返回要缩放的子控件,就是代理告诉ScrollView哪个控件要缩放

    或者说这个方法返回的控件就可以缩放;

    4:设置缩放的比例

    代码示例:

     1 #import "CXBViewController.h"
     2 
     3 @interface CXBViewController () <UIScrollViewDelegate>
     4 {
     5     UIImageView *_imageView;
     6 }
     7 @end
     8 
     9 @implementation CXBViewController
    10 
    11 - (void)viewDidLoad
    12 {
    13     [super viewDidLoad];
    14     // 当设置scrollView为全屏时,直接用self.view.bounds
    15     UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];
    16     [self.view addSubview:scroll];
    17     // 设置UIImageView,UIImageView的初始化用initWithImage,那么UIImageView的大小和图片的一样
    18     UIImage *image = [UIImage imageNamed:@"minion"];
    19     _imageView = [[UIImageView alloc] initWithImage:image];
    20     [scroll addSubview:_imageView];
    21     scroll.contentSize = image.size;
    22     // 设置代理
    23     scroll.delegate = self;
    24     // 设置最大缩放比例
    25     scroll.maximumZoomScale = 2.0;
    26     // 设置最小缩放比例
    27     scroll.minimumZoomScale = 0.2;
    28 }
    29 
    30 #pragma mark 这个方法返回的控件就能够进行缩放操作
    31 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    32 {
    33     return _imageView;
    34 }
    35 @end
  • 相关阅读:
    Mysql 权限命令整理大全
    阿里云ECS发送邮件失败
    彻底删除Kafka中的topic
    mysql Slave 启动失败
    mysql双主热备
    mysql 主从笔记
    mysql主从同步的键值冲突问题的解决方法
    python0.2----如何在windows下搭建最简洁的python环境
    内存0.1---内存里数据的表示形式以及进制转换
    python0.1-----pyhon的优缺点,为何学习python
  • 原文地址:https://www.cnblogs.com/cxbblog/p/3763392.html
Copyright © 2011-2022 走看看