一、约束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