简体   繁体   English

为什么在使用自动布局时需要调用layoutIfNeeded

[英]Why do i need to call layoutIfNeeded when using autolayout

I have custom UITableViewCell, inside the cell i have simple UIView , when i'm trying to get that View frame i got the 0 height and width.But when i call [self layoutIfNeeded] inside awakeFromNib method after it everything works fine. 我有自定义UITableViewCell,在单元格中有简单的UIView,当我尝试获取该View框架时,我得到了0的高度和宽度。但是当我在aakeakeFromNib方法中调用[self layoutIfNeeded]后,一切正常。 whats the problem ? 有什么问题 ? why do i need every time call layoutIfNeeded to get correct frame size? 为什么每次需要调用layoutIfNeeded来获取正确的帧大小?

Since you are overriding awakeFromNib I assume you are using Interface Builder to lay out your cell. 由于您要覆盖awakeFromNib我假设您正在使用Interface Builder布置单元格。 If so, the frame of the subviews are set up only after layoutSubviews is first called. 如果是这样,则仅在第一次调用layoutSubviews之后才设置子视图的框架。

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

相关问题 在将图层蒙版添加到子视图时,为什么需要调用layoutIfNeeded()? - Why do I need to call layoutIfNeeded() when adding a layer mask to a subview? iOS:为什么 layoutIfNeeded 调用 traitCollectionDidChange? (自动布局) - iOS: why does layoutIfNeeded call traitCollectionDidChange? (AutoLayout) 斯威夫特我需要layoutifneeded() - Swift do I need layoutifneeded() 我的CALayer是否需要layoutIfNeeded()或kCAGravityResize? - Do I need layoutIfNeeded() or kCAGravityResize for my CALayer? Autolayout layoutIfNeeded正在打破限制 - Autolayout layoutIfNeeded is breaking constraints 我应该在viewDidLayoutSubviews()内部调用layoutIfNeeded吗 - Should I call layoutIfNeeded inside viewDidLayoutSubviews() 为什么关闭translationsAutoResizingMasks会导致自动布局崩溃,抱怨我需要调用[super layoutSubviews]? - Why does turning off translatesAutoResizingMasks cause an autolayout crash complaining that I need to call [super layoutSubviews]? CMSampleBufferRef上的CFRelease - 为什么我需要调用它? - CFRelease on CMSampleBufferRef - Why do I need to call this? 为什么需要在drawInRect中调用glClear? - Why do I need to call glClear in drawInRect? 我什么时候需要在iOS中调用setNeedsDisplay? - When do I need to call setNeedsDisplay in iOS?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM