使用SnapKit约束label、scrollview和tableview

本文介绍了如何使用SnapKit库在Swift中约束UILabel、UIScrollView和UITableViewCell。强调了在设置UILabel时不应设置固定高度,而在处理UIScrollView时,通过在其中添加viewContainer来实现contentSize自适应。对于UITableViewCell,可以将其视为viewContainer,简化高度计算。文章提供关键代码示例。
摘要由CSDN通过智能技术生成

Snapkit:https://github.com/SnapKit/SnapKit

一、约束UILabel

这个其实本来是很简单的,被自己搞的复杂了,当设置UILabel的时候frame:CGRect.zero就可以了,另外行数设置为:0,一定一定不要设置固定高度 /(ㄒoㄒ)/~~,frame里不要,约束里也不要,可以设置大于等于。

let lb = UILabel(frame: CGRect.zero)
lb.font = UIFont.systemFont(ofSize: 15)
// 设置为0, 才可以自动换行
lb.numberOfLines = 0
lb.text = "这本应该是iOS中一个标准、内置的解决空table和collection view的方式。默认的如果你的table view是空的,屏幕就是空的。但这不是你能提供的最好的用户体验。\n 用了这个库,你只需要遵循一系列协议,iOS会优雅地接管你的collection view并且会正确、好看地显示给用户信息。很明显,每个iOS项目都应该采用。\n在使用第三方类库时,使用cocoaPods是非常方便的,具体使用方法可以参考:CocoaPods安装和使用教程 的安装使用方法。今天讨论的问题是,我在使用的时候遇到了一些问题"
superView.addSubview(lb)
// 一定要在加到父view后才可以用   
lb.snp.makeConstraints { (make) in
    make.top.equalToSuperview().offset(8)
    make.left.equalToSuperview().offset(8)
    make.right.equalToSuperview().offset(-8)
}

二、约束UIScrollView

由于UIScrollView比较特别,真正的高度是contentSize.height,其中的元素不能直接对UIScrollView约束。

解决的方法是,在其中加一个viewContainer (UIView),让sc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值