简体   繁体   English

UITableViewCell和在layoutSubviews中设置子视图框架第一次不起作用

[英]UITableViewCell and setting subview frames in layoutSubviews doesn't work first time

I have a prototype UITableViewCell subclass in a storyboard that uses auto layout (but the cell itself doesn't have any elements using auto layout). 我在使用自动布局的情节提要中有一个原型UITableViewCell子类(但单元格本身没有使用自动布局的任何元素)。 I'm trying to set the frame of a subview manually in it's layoutSubviews method but this only works when the cell is reused, or is highlighted. 我正在尝试在其layoutSubviews方法中手动设置子视图的框架,但这仅在单元格被重用或突出显示时有效。 The first time the cell is displayed, setting subview frames doesn't have an effect (but the method is called and setting background colours and stuff works fine). 第一次显示该单元格时,设置子视图框架没有效果(但是调用了该方法,并且设置了背景色和填充效果很好)。 Is there something I'm missing? 有什么我想念的吗?

EDIT: Ok I was wrong about the behaviour, it seems as though when reusing cells the subviews frames get reset again. 编辑:好的,我对行为是错误的,似乎在重用单元格时子视图框架会再次重置。

如果要强制单元格调用layoutSubviews,则可能需要在awakeFromNib中使用setNeedsLayout和layoutIfNeeded。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM