最近遇到TZStackView,之前没用过,也没听过,现在就是简单的会用一点。记录下简单使用方法,省的以后忘记了,用起来还是非常好用的。可以自动布局一些控件。
步骤一:创建标签
internal var textView = TZStackView()
internal let blurbLabel = UILabel()//需要用的子控件1
internal let moreLabel = UILabel()//需要用的子控件2
步骤二:初始化frame
init(frame: CGRect, environment: Environment) {
self.environment = environment
super.init(frame: frame)
//它是根据需要添加的子控件自动计算frame
self.textView = TZStackView(arrangedSubviews: [blurbLabel,moreLabel])
1}
//添加textView到scrollView中
myScrollV.addSubview(textView)
}
步骤三: 添加约束,设置布局格式
textView.snp_makeConstraints { (make) in
make.top.equalTo(courseCard.snp_bottom)
make.leading.equalTo(self)
make.trailing.equalTo(self)
//不需要设置高度约束,会自动根据里面的内容计算高度
}
//让子控件垂直方向叠加
textView.axis = .Vertical
//这应该是填充的意思。。。我也不确定
textView.alignment = .Fill
步骤四 : 其他设置
//margin 为20
textView.layoutMarginsRelativeArrangement = true//啥我也不知道
textView.layoutMargins = UIEdgeInsetsMake(0, margin, 0, margin)//设置内边距布局方式
textView.spacing = margin//应该是子控件之间设置间距
总结:具体深入的用法我也不知道,能解决目前开发的需求,可以根据隐藏或显示第二个文本,自动布局。