我知道这个问题之前已经被问过数百次,但从未真正得到解决(或者至少是我希望的方式)。我有一个相当复杂的 UITableViewCell 设置。从 UIView 子类加载,该cell.backgroundView
子类使用了相当多的 CoreGraphics 和 CoreText。代码中到处都是CTFramesetterSuggestFrameSizeWithConstraints
,所以我不愿意在heightForRowAtIndexPath
方法中复制类。
我想我可以通过创建一个以 indexPath 作为键、以高度作为值的 NSMutableDictionary 来解决这个问题。但后来我面临着heightForRowAtIndexPath
先被叫到的问题。我相信我可以通过猜测单元格的高度来解决这个问题,然后一旦单元格的 UIView 子类完成渲染,使用委托来设置单元格的高度。
但这给我留下了一个问题,我到底该怎么委派这个?而且,如何防止滚动非常不稳定?因为单元格将在瞬间创建和调整大小。