ScrollView不能全屏的问题(问题已自己解决,进来的第一个送分了)

本文介绍如何在SwiftUI应用中实现ScrollView的嵌套使用,并通过代码示例展示了如何设置背景颜色、禁用滚动指示器等特性,以及如何在每个页面中添加可缩放的子ScrollView。

@IBOutlet weak var E_ManualScrollView: UIScrollView!
func setScrollView(){
        E_ManualScrollView.backgroundColor = UIColor.redColor()
        E_ManualScrollView.pagingEnabled = true
        E_ManualScrollView.showsHorizontalScrollIndicator = false
        E_ManualScrollView.showsVerticalScrollIndicator = false
        E_ManualScrollView.scrollsToTop = false
        E_ManualScrollView.bounces = false
        E_ManualScrollView.contentOffset = CGPointZero
        // 将 scrollView 的 contentSize 设为屏幕宽度的8倍(根据实际情况改变)
        E_ManualScrollView.contentSize = CGSize(width: self.view.bounds.size.width * CGFloat(numOfPages), height: E_ManualScrollView.bounds.height)
        
        E_ManualScrollView.delegate = self
        for index  in 0..<numOfPages {
            
            let doubleTap = UITapGestureRecognizer(target: self, action: "handleDoubleTap:")
            doubleTap.numberOfTapsRequired = 2
            
            let zoomScrollView = UIScrollView(frame: CGRectMake(self.view.bounds.size.width * CGFloat(index), 0, self.view.bounds.size.width, E_ManualScrollView.bounds.height))
//            zoomScrollView.backgroundColor = self.E_ManualScrollView.backgroundColor
            zoomScrollView.backgroundColor = UIColor.yellowColor()
            zoomScrollView.contentOffset = self.E_ManualScrollView.contentOffset
            zoomScrollView.showsHorizontalScrollIndicator = false
            zoomScrollView.showsVerticalScrollIndicator = false
            zoomScrollView.contentSize = CGSize(width: self.view.bounds.size.width, height: E_ManualScrollView.bounds.height);
            zoomScrollView.delegate = self;
            zoomScrollView.minimumZoomScale = 1.0;
            zoomScrollView.maximumZoomScale = 3.0;
            //        zoomScrollCiew.tag = i+1;
            zoomScrollView.setZoomScale(1.0, animated: true)
            
            let imageView = UIImageView(image: UIImage(named: "cleaner_e_manual_0\(index + 1)"))
            imageView.contentMode = UIViewContentMode.ScaleAspectFit
            //超过frame的区域不显示在屏幕上
            imageView.clipsToBounds  = true;
            //自动调整view的高度,以保证上边距和下边距不变
            imageView.autoresizingMask = UIViewAutoresizing.FlexibleHeight
            imageView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: E_ManualScrollView.bounds.height)
            imageView.userInteractionEnabled = true;
            imageView.addGestureRecognizer(doubleTap)
            
            zoomScrollCiew.addSubview(imageView)
            self.E_ManualScrollView.addSubview(zoomScrollView)
        }
        
        self.view.insertSubview(E_ManualScrollView, atIndex: 0)
    }




如图所示,红色为E_ManualScrollView(包括被黄色遮挡区域),黄色为zoomScrollView ,求使zoomScrollView铺满红色区域的办法,设置了E_ManualScrollView.contentOffset = CGPointZero也没用,望大神指教
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值