【发布时间】:2016-05-15 03:45:50
【问题描述】:
我已成功使我的自定义 uitableviewcell 与自动尺寸一起使用。在我的自定义单元格中,我有一个标签(用于显示标题,可以是一行或多行)和一个图像视图。自动布局设置正确,我指定了估计的行高并将行高设置为自动尺寸。当我使用在 viewDidLoad 中设置的虚拟数据时,我的自定义单元格会根据 UILabel 文本动态更改高度。
但是,我必须在我的自定义 tableviewcell 类中进行 API 调用,即在 cellForRowAtIndexPath 方法中获取相应的数据以显示在我的 UILabel 和 UIImageView 中。成功获取数据后,我更新了 UI 元素。但是,在这种情况下,单元格不会动态更改高度,并且我的 UILabel 被截断为一行。
我尝试调用 reloadRowsAtIndexPath 方法,但是当我滚动 tableview 时它会导致奇怪的反弹。我已经尝试了几个小时,知道如何在从 API 调用获取数据后使自动 tableview 行高工作吗?
【问题讨论】:
-
你为什么在 cellForRowAtIndexPath 中调用你的 api ?您可以在 viewDidLoad() 中调用您的 api,并根据您的要求将结果保存在数组或字典数组中。然后您可以使用此数组来更新 UI 元素。
-
我认为从 cellForRow 调用 API 是完全正常的......因为我们不想获取用户可能永远不会显示的外部数据。
标签: ios uitableview uitableviewautomaticdimension