Ios 未从情节提要帧更新帧
所以我想布置一个Ios 未从情节提要帧更新帧,ios,iphone,frame,cgrect,Ios,Iphone,Frame,Cgrect,所以我想布置一个UITableView,我想让单元格计算它们自己的高度。我可以使用systemSizeFittingSize执行此操作,但这并不总是返回正确的高度,因为行仍然具有来自故事板(或xib)的帧 我想更新帧,使其与设备上的帧相同 我该怎么做?我尝试了setNeedsLayout和layoutIfNeeded,但我必须在层次结构中的最高视图上执行此操作,以实现所需的效果,因为每个视图似乎都使用其superview的框架 我正在设置tableViewDataSource并在我的viewco
UITableView
,我想让单元格计算它们自己的高度。我可以使用systemSizeFittingSize
执行此操作,但这并不总是返回正确的高度,因为行仍然具有来自故事板(或xib)的帧
我想更新帧,使其与设备上的帧相同
我该怎么做?我尝试了setNeedsLayout
和layoutIfNeeded
,但我必须在层次结构中的最高视图上执行此操作,以实现所需的效果,因为每个视图似乎都使用其superview的框架
我正在设置tableViewDataSource
并在我的viewcontroller中的viewDidLoad
中调用reloadData
在调用viewDidLoad
之前,是否有方法设置正确的帧
编辑:我想给我的
viewDidLoad
中的布局对象指定子视图的高度,这样它就可以发挥神奇的作用,提供一个漂亮的布局。现在,该对象只进行布局计算。我注意到viewDidLoad
中我请求的高度(通过view.frame.size.height
)与我的故事板中的高度相同,再次告诉我viewDidLoad
中的帧尚未更新。。。有解决方法的人吗?我认为tableView:heightForRowAtIndexPath:
可能是您需要的:
:
但是只有在您知道之前的大小,然后您可以在
init
@Downvoter中计算它时,才能在viewDidLoad
之前设置正确的帧,请注意解释一下?这就是我返回使用原型单元格计算的高度的地方,设置它的数据,然后我要求它自己布局,这样我就可以得到它的高度。这里的问题是,单元格的宽度不正确,因此高度计算不正确…@vrwim您确定这是单元格的宽度问题,而不是表视图的宽度问题吗?我从xib实例化了单元格,它仍然有一个框架。如果我想更新布局,它将采用tableview中的布局,这也是不正确的,但您提到的问题是,如果我理解正确,计算高度时单元格的宽度不正确。我现在要问的是,你是否确定表视图的宽度是正确的?我确定它是错误的,因为在viewDidLoad
my viewcontroller中,以及其中的所有内容仍然具有来自情节提要的大小,因此我无法使用帧来计算单元格大小。