• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift-UIScrollView的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本节详细介绍scrollview的用法

————————————————————————————————————

UIScrollView 是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容

UIScrollView 用法,将需要展示的内容添加到scrollview中

设置UIScrollView 的contentView属性,告诉UIScrollView所有内容的尺寸

1、初始化

let scrollView = UIScrollView()
var imageView = UIImageView()
var imageView2 = UIImageView()
var imageView3 = UIImageView()
var imageView4 = UIImageView()

2、创建scrollview,并确定好所需设置的属性

scrollView.delegate = self //设置代理
scrollView.frame = CGRect(x:0,y:64,width:self.view.frame.size.width,height:200)//设置scrollview的大小
scrollView.backgroundColor = UIColor.white//设置背景颜色
scrollView.pagingEnabled = true //是否支持分页
scrollView.bounces = false //是否支持回弹效果
scrollView.showsVerticalScrollIndicator = false //垂直滑动线隐藏
scrollView.showsHorizontalScrollIndicator = false //水平滑动线隐藏
//scrollView.contentInset = UIEdgeInsetsMake(10, 10, 10, 10) //设置内边距
scrollView.contentSize = CGSize(width:self.view.frame.size.width * 3,height:0)

 

3、实现轮播的效果

1)添加图片

/***添加多张图片到scrollview里面***/

        harray = ["2.jpg","3.jpg","4.jpg"]
        
        //所以这里切换成for循环的方式添加图片
        for i in 0..<harray.count {
            
            let hImageViews = UIImageView(image: UIImage(named:"\(i+2).jpg" ))
            hImageViews.frame = CGRect(x:self.view.frame.size.width*CGFloat(i),y:0,width:self.view.frame.size.width,height:300)
            scrollView.addSubview(hImageViews)
            
        }
 
        self.view.addSubview(scrollView)//一定不要忘记把scrollview添加到view上

 

2)实现轮播的效果

所需要注意的是:就是设置好所添加图片的frame,上面的代码写的很详细,大家可以参考!

效果图如下:

 

4、实现图片缩放的效果

1)创建scrollview,并添加图片

    scrollView.delegate = self
    scrollView.frame = self.view.bounds
    let imageView = UIImageView(image:UIImage(named:"1.jpeg"))
    scrollView.contentSize = imageView.bounds.size
    scrollView.addSubview(imageView)
    self.view.addSubview(scrollView)
    scrollView.minimumZoomScale = 0.1
    scrollView.maximumZoomScale = 5.0

 

2)实现一个代理方法,在此方法中指定需要缩放的子控件

func viewForZooming(in scrollView: UIScrollView) -> UIView? {
     
        for subView:AnyObject in scrollview.subviews {
            if subView.isKind(of:UIImageView.self) {
                return subView as? UIView
            }
        }
        
        return nil
    }

 

效果图如下:

 

5、代理方法的作用

func scrollViewDidScroll(_ scrollView: UIScrollView) {
        print("只要滚动了就会触发哦。")
    }

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        print("开始拖拽视图")
    }

    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        print("结束滚动")
    }

    func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
        print("将开始降速时")
    }

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        print("减速停止了时执行,手触摸时执行执行")
    }

    func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
        print("滚动动画停止时执行,代码改变时触发,也就是setContentOffset改变时")
    }

    func scrollViewDidEndZooming(_ scrollView: UIScrollView, withView view: UIView?, atScale scale: CGFloat) {
        print("完成放大缩小时调用")
    }

 

 上面的方法都备注了什么时候执行,很清楚,大家可以试试!

最后,上传一张网络上的图片:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap