推广

UIStackView 线性文档流布局

iseeyu2年前 (2024-02-22)推广128

WechatIMG393.png

WechatIMG394.png

会员中心.gif

以上三个页面全部使用UIStackView 作为容器搭建完成

首先看一下 UIStackView 实现线性布局结构图

UIStackview线性布局框架.jpg

具体步骤

创建相关视图

    override func viewDidLoad() {
        super.viewDidLoad()
        let scrollView = UIScrollView()
        scrollView.backgroundColor = UIColor.red
        let stackView = UIStackView()
        stackView.axis = .vertical // 纵向布局
        stackView.distribution = .equalSpacing // 每个item之间间距相同
        stackView.spacing = 20 // 相邻item之间间距
        stackView.alignment = .center // 居中对齐,不对item进行横向拉伸
        view.addSubview(scrollView)
        scrollView.addSubview(stackView)
        
        for i in 0..<10 {
            let itemView = UIButton()// 为了演示效果这里采用 uibutton,点击消失对 UIStackView 布局的影响
            itemView.setTitle("View\(i)", for: .normal)
            itemView.addTarget(self, action: #selector(handle), for: .touchUpInside)
            itemView.backgroundColor = .green
            stackView.addArrangedSubview(itemView)
        }
    }
    @objc func handle(btn:UIButton) {
        UIView.animate(withDuration: 0.25) {
            btn.isHidden = true
        }
    }

UIScorllview 约束设置

        scrollView.snp.makeConstraints { (make) in
            make.edges.equalTo(self.view)
        }

UIStackView 约束设置,关键步骤,设置 stackView 定宽或者像下面这样,依赖于 scrollView 的父视图宽度,高度依赖栈内子视图将其撑开,并撑开 scrollView 的 contentSize

        stackView.snp.makeConstraints { (make) in
            make.left.right.equalTo(self.view)
            make.top.bottom.equalTo(scrollView)
        }

UIStackView 栈内子视图约束设置

            itemView.snp.makeConstraints { (make) in
                make.height.equalTo(200)
                make.width.equalTo(self.view.frame.width - 40)
            }

预览效果

线性布局效果.gif

总结

UIStackView 是 苹果官方在iOS 9.0 推出的非常先进的容器视图,结合自动布局能够快速的帮助开发者完成各种布局效果。我在开发《海马体照相馆》app 的过程中大量的使用了 UIStackView,有时间的话分享一篇 UIStackView 的其他方面的应用。

Demo 地址(欢迎大家留言,相互学习):https://github.com/muxueChen/learnStackView

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/56549.html

相关文章

提高APP变现能力的方法都在这里了!

提高APP变现能力的方法都在这里了!

  一款用户达到数十万、数百万、数千万量级的 APP 要如何延续自己的生命力呢?“流量变现”是关键! APP 流量变现的常见方式主要有以下几种: 1)电商变现 即依赖用户 APP 内购买行为进行变现。可以分为电商CPS 和自营电商——电商CPS 指电商...

网站死链接检测与提交处理。

网站死链接检测与提交处理。

随着我们优化的时间越来越长,难免会发现网站起初的搭建并不是非常利于被搜索引擎抓取,当网站的seo专员,为了网站能更好的被搜索引擎蜘蛛抓取,或者更好的用户体验时,我们就需要对我们原本的网站进行一个网站改版,这个时候,一些优化多年的老网站就会遇到一个比较头疼的问题,由于代码批量替换,或者对应目录的文件夹...

互联网推广如何提高阅读量。

互联网推广如何提高阅读量。

现在是互联网的时代,做好网站推广优化是因为它可以带来巨大的流量,大家都知道获取用户流量的必经之路就是文章写作推广,所以这文章如何获得更多的流量和吸引更多的人的注意力?如何在互联网上获得更高的阅读量? 一、网站标题 标题是读者访问文章的第一条渠道。如果标题不吸引读者,那么他就没有...

私域流量4000字方法论:如何打造卖货的朋友圈?

私域流量4000字方法论:如何打造卖货的朋友圈?

很多做微商的,刚开始接触私域的,最喜欢做的事情,就是一口气发十几条朋友圈。每条朋友圈都从不同角度,夸自己的产品好。早中晚各一次,极端的一小时发一次,一天发几十条、上百条,恨不得逼着用户快速决策,下单买买买。   这种玩法,在7、8年前的微信洪荒时代,可能还奏效。现在都 202...

网站维护需要做哪些工作。

网站维护需要做哪些工作。

互联网时代,许多企业常有自身的网站。基本建设前期能够找技术专业的建站公司,但针对后期维护大部分是自身来操作,企业想降低成本会自身去管理维护网站。这针对第一次建网站的企业来说较为艰难,也许会进入某些错误观念。那么网站维护需要做哪些工作呢? 一、删掉死链接 企业在做网站维护中,定期维护查看链接很关键...

最好的商业模式,是共赢的 "商业模式 "商业思维

最好的商业模式,是共赢的 "商业模式 "商业思维

我们经常讲互联网模式,经常讲平台模式。平台模式最怕的就是买卖双方见面。我在抖音上面已经给大家讲过,但是平台模式现在又分成两种,第一个叫做瓜子二手车直卖网模式,第二个叫做贝壳模式瓜子。只卖网,没有中间商赚差价,因为他干掉所有的中间商,自己当中间商,最后的结果是其他所有的中间商...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片