首页 > 其他分享 >UIScrollView SnapKit使用

UIScrollView SnapKit使用

时间:2023-04-11 17:26:01浏览次数:34  
标签:contentView make SnapKit equalToSuperview UIScrollView 使用 maker view

直接上代码,看ViewDidLoad方法中的注释。一共10个约束,UIScrollView 上下左右4个,其子试图contentView 上下左右宽高6个。

注意点:(以要求可以上下滚动为例,可以先看完代码再回头理解注意事项)
1、contentView的宽高根据需求设置优先级,哪边需要滚动,优先级就必须低,因此这里设置高度优先级为.low。
2、最底部试图必须和contentView试图必须有底部约束。

 
    let contentView = UIView()
    
    lazy var bgScrollView : UIScrollView = {
        let view = UIScrollView()
//        view.backgroundColor = .blue
        view.showsHorizontalScrollIndicator = false
        view.showsVerticalScrollIndicator = false
        return view
    }()


bgView是最底部视图。
    private let bgView = UIView().then {
        $0.backgroundColor = .white
        $0.layer.cornerRadius = 5
        $0.layer.masksToBounds = true
    }

然后往bgView里,添加子视图即可。

        
        view.addSubview(bgScrollView)
        bgScrollView.snp.makeConstraints { make in
            make.top.equalTo(searchView.snp.bottom).offset(10)
            make.left.right.bottom.equalToSuperview()
        }

        bgScrollView.addSubview(contentView)
        contentView.snp.makeConstraints { make in
            make.top.left.right.bottom.equalToSuperview()
            make.width.equalTo(kScreenWidth)
            make.height.equalToSuperview().priority(.low)
        }
        if #available(iOS 11.0, *) {
            bgScrollView.contentInsetAdjustmentBehavior = .never
        } else {
            automaticallyAdjustsScrollViewInsets = false
        }


        contentView.addSubview(bgView)
        bgView.snp.makeConstraints { maker in
            maker.left.equalToSuperview().offset(15)
            maker.right.equalToSuperview().offset(-15)
            maker.top.equalTo(0)
            maker.height.equalTo(1000)
//            maker.bottom.equalTo(-50)
            maker.bottom.equalToSuperview().offset(-30).priority(.high)
        }

 

 

 

 

作者:IMKel
链接:https://www.jianshu.com/p/f84c8241222f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:contentView,make,SnapKit,equalToSuperview,UIScrollView,使用,maker,view
From: https://www.cnblogs.com/huangzs/p/17306929.html

相关文章

  • AIGC教程:如何使用Stable Diffusion生成风格化游戏物品和图标
    GameLook报道/随着生成型AI的能力提升,越来越多的开发者开始尝试用StableDiffusion提升自己的研发效率。在RPG游戏的制作当中,数量庞大的游戏内物品是非常耗时且费力的部分,装备、道具、药剂等物品可能数以千计,从概念设计到最终放到游戏里的资源,可能耗费很长时间和......
  • Docker容器使用Flannel通信
    Docker使用Flannel跨主机通信通信的方式路由虚拟包头flannel网络概念Flannel是Docker提供的一种网络解决方案,它旨在为容器提供简单的IP地址管理和跨主机通信。Flannel使用了一些现有的技术,比如Linux内核的TUN/TAP接口和ETCD分布式键值存储,来实现容器之......
  • vue3使用elmentui-plus中的图标
    按照官网这样直接引入使用,不知道为啥行不通:import{Document,MenuasIconMenu,Location,Setting,}from'@element-plus/icons-vue'使用时,需要<script>import{UserFilled}from'@element-plus/icons-vue'//使用的时候需要单独引入这个图标从......
  • 如何使用Alpaca-LoRA来微调ChatGPT这样的模型?
    原文标题:HowtouseAlpaca-LoRAtofine-tuneamodellikeChatGPT原文地址:https://replicate.com/blog/fine-tune-alpaca-with-lora?continueFlag=4ecae39885197a5c008faabbefb5c824如何使用Alpaca-LoRA来微调ChatGPT这样的模型?低秩自适应(LoRA)是一种微调模型的技术,它比以......
  • flask-sqlalchemy使用,flask-migrate使用
    flask-sqlalchemy使用,flask-migrate使用flask-sqlalchemy使用集成到flask中,我们可以用sqlalchemy来做,就是比较的繁琐现在有一个第三方的flask-sqlalchemy,可以快速的集成到flask中#使用flask-sqlalchemy集成1.下载flask-sqlalchemy#pipinstallflask-sqlalchemy2.导......
  • C# Kafka重置到最新的偏移量,即从指定的Partition订阅消息使用Assign方法
    在使用Kafka的过程中,消费者断掉之后,再次开始消费时,消费者会从断掉时的位置重新开始消费。场景再现:比如昨天消费者晚上断掉了,今天上午我们会发现kafka消费的数据不是最新的,而是昨天晚上的数据,由于数据量比较多,也不会及时的消费到今天上午的数据,这个时候就需要我们对偏移量进行重置......
  • 洛谷P2415 集合求和(数学问题,使用集合子集求和公式)
    可以知道对于一个有n个数据的集合,其子集个数有2^n个至于证明可以这样理解,对于n个数据,其子集就是对数据进行组和,而对于每个位置上的数据,组合时仅有两种状态即有此数据或无此数据,也就是有两种可能,而对于n个数据,就有2^n种可能不妨设其中一个非空数据X,对于X,依据X可以将子集划分为两......
  • 使用navigator.geolocation解决h5公众号定位不准确的问题
    封装js(utils/geolocation.min.js):window.qq=window.qq||{},qq.maps=qq.maps||{},window.soso||(window.soso=qq),soso.maps||(soso.maps=qq.maps),qq.maps.Geolocation=function(){"usestrict";vare=[],t=null,o=0,n="_geoIframe_"+Math.ceil(1e7*Mat......
  • 【FIFO】vivado FIFO IP核的一点使用心得
    简单记一下今天在使用FIFO的过程中的一些注意事项。【时钟模块】使用时钟模块用于生成FIFO模块的读写时钟,在复位之后时钟模块不能立刻输出时钟,需要等待一段时间(我仿真的时候就想着怎么没数据出来捏)具体标志为  locked信号拉高  【FIFO模块】同样的FIFO模块在复位之后......
  • python ssh Linux机器 paramiko库的简单使用
    pythonsshLinux机器paramiko库的简单使用以用户名密码方式连接Linux主机defconn_by_password():"""1)如果抛出异常:SSHException:Server'172.17.140.17'notfoundinknown_hosts则需要设置ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy(......