iOS开发滚动视图UIScrollView的应用

这个示例展示了如何在Swift中利用UIScrollView创建一个可以滚动的内容区域,包含两个不同颜色的视图,并设置了自动回弹和滚动条显示。同时,通过设置contentSize属性,实现了内容区域大于滚动视图本身尺寸的效果,允许用户滑动浏览。另外,还展示了如何实现UIScrollView的图片缩放功能,通过设置最小和最大缩放比例,以及指定可缩放视图,实现了图片的放大和缩小功能。
摘要由CSDN通过智能技术生成

可以将UIScrollView理解为一块大的画布,向其中放入任意尺寸的一组视图

//
//  ViewController.swift
//  UIScrollViewTest
//
//  Created by cerf on 2021/6/20.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //进行UIScrollView的实例化
        let scrollView = UIScrollView(frame: self.view.frame)
        //将滚动视图添加到当前界面
        self.view.addSubview(scrollView)
        //创建两个内容视图
        let subView1 = UIView(frame: self.view.frame)
        subView1.backgroundColor = UIColor.red
        let subView2 = UIView(frame: CGRect(x: self.view.frame.size.width, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
        subView2.backgroundColor = UIColor.blue
        //将内容添加到UIScrollView视图中
        scrollView.addSubview(subView1)
        scrollView.addSubview(subView2)
        //设置UIScrollView实例的尺寸
        scrollView.contentSize = CGSize(width: self.view.frame.size.width*2, height: self.view.frame.size.height)
        //设置始终开启竖直方向的回弹效果
        scrollView.alwaysBounceVertical = true
        //设置始终开启水平方向的回弹效果
        scrollView.alwaysBounceHorizontal  = true
        //显示竖直方向的滚动条
        scrollView.showsVerticalScrollIndicator = true
        //显示水平方向的滚动条
        scrollView.showsHorizontalScrollIndicator = true
        //开启自动定位分页效果
        scrollView.isPagingEnabled = true
        // Do any additional setup after loading the view.
    }


}

设置UIScrollView的contentSize属性来控制滚动视图的可滚动范围,如果内容区域的尺寸超出了UIScrollView实例本身的尺寸大小,则当前UIScrollView实例就可以进行滑动来适应其内容区域的大小

自动定位分页是指当用户图片滑动轮播器在两个图片之间停下时,如果用户抬起手指,轮播器会自动根据图片显示出的部分尺寸大小自动定位,使轮播器完整显示某一张照片


UIScrollView的缩放操作

//
//  ViewController.swift
//  UIScrollViewTest2
//
//  Created by cerf on 2021/6/20.
//

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {
    var imageView:UIImageView?

    override func viewDidLoad() {
        super.viewDidLoad()
        let scrollView = UIScrollView(frame: self.view.frame)
        self.view.addSubview(scrollView)
        //设置代理
        scrollView.delegate = self
        imageView = UIImageView(image: UIImage(named: "timg"))
        imageView?.frame = self.view.frame
        scrollView.addSubview(imageView!)
        scrollView.contentSize = self.view.frame.size
        //设置缩放限度
        scrollView.minimumZoomScale = 0.5
        scrollView.maximumZoomScale = 2
        // Do any additional setup after loading the view.
    }
    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return imageView!
    }


}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值