[IOS]如何在table cell中使用UIStackView和一些问题

网友投稿 746 2022-11-10

[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小时内删除侵权内容。

上一篇:(转)[树莓派】树莓派安装系统详细步骤
下一篇:[npm]express/gulp在控制台无法使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~