[IOS]如何在table cell中使用UIStackView和一些问题
[IOS]如何在table cell中使用UIStackView和一些问题
1. UIStackView多层嵌套问题
本来我的设计是想在cell里面使用UIStackView,然后里面再嵌套一个UIStackView,发现这样有点问题
就是现在灰色的View这块,本意是想使用一个垂直的UIStackView,但是演示的时候发现cell并没有遵循我的约束
真机演示的时候会发现只有圈着的label显示了,垂直的UIStackView的下面那个label被压下去,但问题是我在垂直的UIStackView也设置了内部约束了,显然显示的约束并非设计的那样运作.这样嵌套会导致很多问题,而且还不知道怎么解决
2. 使用View
从上面可知,
第一层的UIStackView是没问题的,因此我把第二层的UIStackView换成view,里面再装一个UIStackView呢,实验证明和上面的情况是一样的......,因此这样子的多层嵌套还没有很好的解决办法.那就不用UIStackView了,直接上一个view吧,而且我发现你里面这两个垂直排布的label也不能加约束,加了后又会和嵌套UIStackView的显示情况一样了........
3.自定义cell
然后自定义一个cell:
import UIKitclass PortInfoTableViewCell: UITableViewCell { @IBOutlet weak var cellStack: UIStackView! var protocalLabel: UILabel? override func awakeFromNib() { super.awakeFromNib() // Initialization code protocalLabel = cellStack.arrangedSubviews[0] as! UILabel } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } }
这里参考了两篇文章:
- Access variable in different class - Swift
如何跨类获得protocalLabel
- stored property “text” without initial value prevents synthesized initializers
一个成员变量初始化错误,不要忘记加上'?'
var protocalLabel: UILabel?
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~