iOS中UIScrollView嵌套UIImageView实现图片滑动浏览、缩放

一开始的时候是UIScrollView直接嵌套UIImageView,滑动浏览都是正常的,但是不能伸缩,试了UIScrollVIew自身的zoom方法,也试用了pinch gesture的方法都无果,后来想到了用UIScrollView嵌套UIScrollVIew再嵌套UIImageView的方法实现,然后缩放用的是UIScrollView自身的缩放方法,成功,很棒。载入图片是用的SDWebI
摘要由CSDN通过智能技术生成

一开始的时候是UIScrollView直接嵌套UIImageView,滑动浏览都是正常的,但是不能伸缩,试了UIScrollVIew自身的zoom方法,也试用了pinch gesture的方法都无果,后来想到了用UIScrollView嵌套UIScrollVIew再嵌套UIImageView的方法实现,然后缩放用的是UIScrollView自身的缩放方法,成功,很棒。

载入图片是用的SDWebImage,提示框用的是MBProgressHUD

实现了在当前图片放大情况下,滑动到相邻的图片时对当前图片恢复到原始比例。以及缩小时保证图片在正中间。解决了滑动时显示多个“载入中”的BUG

以下是源码:(直接复制不能运行)

    func showImages(theView:UIView,imageNamesTMP:[String])
    {
        println("showImages")
        imageNames = imageNamesTMP
                
        var numberOfImages:CGFloat = (CGFloat)(imageNames.count)
        
        
        
        imageBigScrollView.contentSize = CGSizeMake(SCREENWIDTH * numberOfImages, SCREENHEIGHT)
        
        imageSmallScrollViews = NSMutableArray()
        for(var i = 0; i < (Int)(numberOfImages);i++)
        {

            var smallScrollView = UIScrollView(frame: CGRectMake(SCREENWIDTH * (CGFloat)(i), 0, SCREENWIDTH, SCREENHEIGHT))
            smallScrollView.pagingEnabled = false
            smallScrollView.contentSize = CGSizeMake(SCREENWIDTH, SCREENHEIGHT)
            smallScrollView.delegate = self
            smallScrollView.showsHorizontalScrollIndicator = false
            smallScrollView.showsVerticalScrollIndicator = false
            smallScrollView.minimumZoomScale = 0.2
            smallScrollView.maximumZoomScale = 8
            

            imageBigScrollView.addSubview(smallScrollView)
            imageSmallScrollViews.addObject(smallScrollView)
        }
        
        
        var pageControlHeight:CGFloat = 20

        imagePageControl = UIPageControl(frame: CGRectMake(0, SCREENHEIGHT - pageControlHeight, SCREENWIDTH, pageControlHeight))

        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值