gpt4 book ai didi

ios - UITableViewCell 右 detailTextLabel 框在 reloadData 后调整大小

转载 作者:行者123 更新时间:2023-11-29 10:31:42 27 4
gpt4 key购买 nike

我有一个 UITableView,其中有一个 Right Detail 单元格并禁用滚动,表格的高度设置为 44(与单元格相同)。该单元格显示表示 A 类对象的数据。当用户点击该单元格时,它会推送一个带有表格的新 VC 来选择 A 类的新对象。但是当我弹出回旧 VC 并调用 reloadData viewWillAppear 中,detailTextLabel.frame 已完全更改且不可见。

因此在此日志中,第一行是对 cellForRowAtIndexPath(对象 1)的初始调用,并且一切都正确显示。第二行是在选择对象 2 之后(detailTextLabel 为空字符串)。第三行是在再次选择对象 1 之后,之前有效的 detailTextLabel 现在不可见了。

2015-03-28 10:48:11.747 dojo[32523:5852510] detail text label: <UITableViewLabel: 0x15d5de470; frame = (463 12; 42 20); text = '1234'; opaque = NO; autoresize = RM+BM; layer = <_UILabelLayer: 0x17429a810>>
2015-03-28 10:48:20.374 dojo[32523:5852510] detail text label: <UITableViewLabel: 0x15d5de470; frame = (468.5 13; 36.5 19.5); text = ''; autoresize = RM+BM; layer = <_UILabelLayer: 0x17429a810>>
2015-03-28 10:48:23.192 dojo[32523:5852510] detail text label: <UITableViewLabel: 0x15d5de470; frame = (505 13; 0 0); text = '1234'; autoresize = RM+BM; layer = <_UILabelLayer: 0x17429a810>>

我已经在 Storyboard中使用正确的重用 ID 设置了表格,并且正在调用 dequeueReusableCellWithIdentifier 来获取单元格;

更新:gist for VC

更新 2:我无法上传我的整个项目,但我创建了一个 demo project部分真实代码(针对依赖关系略作修改)表现出相同的问题。

最佳答案

查看您的代码后,这似乎是 Apple 代码中的错误。如果我在设置文本后使用 sizeToFit(并且有一个 vehicle.number 可以看到),数字会出现,但是人字形会消失,直到您按下然后再次弹出;这绝对不是它应该的工作方式。当没有 vehicle.number 而不是空字符串时,您可以通过传递一个空格作为文本来轻松绕过它。所以,

[cell.detailTextLabel setText: vehicle.number ? : @" "];

而不是这个,

[cell.detailTextLabel setText: vehicle.number ? : @""];

日志中的数字还在后面;也就是说,您需要再次按下并弹出才能在日志中看到正确的帧,但标签和 V 形都正确显示。

关于ios - UITableViewCell 右 detailTextLabel 框在 reloadData 后调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com