iOS 8中的自我调整大小(动态高度)单元 – 可能没有自定义UITableViewCell?

iOS 8中的自我调整大小(动态高度)单元 – 可能没有自定义UITableViewCell?,第1张

概述是否可以在iOS 8中自行调整UITableViewCell的大小而无需创建自定义UITableViewCell? 我认为标准的UITableViewCell类型(UITableViewCellStyleDefault,UITableViewCellStyleSubtitle,UITableViewCellStyleValue1,UITableViewCellStyleValue2)内置了自动布局 是否可以在iOS 8中自行调整UItableVIEwCell的大小而无需创建自定义UItableVIEwCell?

我认为标准的UItableVIEwCell类型(UItableVIEwCellStyleDefault,UItableVIEwCellStyleSubTitle,UItableVIEwCellStyleValue1,UItableVIEwCellStyleValue2)内置了自动布局约束.事实证明,无法在Storyboard中更改非自定义单元格的约束.

但是当我使用UItableVIEwCellStyleValue1类型的非自定义单元格时,在Storyboard中设置它,将textOabel和detailTextLabel的numberOfRows设置为0,并将vIEwDIDLoad代码设置为如下所示,在自动调整中仅考虑单元格的textLabel.细胞的高度.如果detailTextLabel最终显示在比textLabel更多的行上,则detailTextLabel的文本会溢出单元格的顶部和底部边缘.同样,单元格为textLabel正确调整大小,但似乎在其大小调整过程中忽略detailTextLabel.

我需要知道的主要事情是 – 如果我想要正确支持动态文本和自我调整大小,我是否需要为可以使用标准单元格的行创建自定义单元格?

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    [self.tableVIEw setEstimatedRowHeight:DEFAulT_ROW_HEIGHT];    [self.tableVIEw setRowHeight:UItableVIEwautomaticDimension];}
解决方法 我刚刚在iOS 10 / XCode 8(iOS 9 / XCode 7中的结果相同)中使用不同的单元格类型进行了尝试,看起来它只适用于textLabel而不适用于detailTextLabel.

(基本上重复OP提到的问题)

VIEwController代码,在detailTextLabel和textLabel上交替设置一些文本.

class VIEwController: UIVIEwController,UItableVIEwDelegate,UItableVIEwDataSource {    @IBOutlet weak var tableVIEw: UItableVIEw!    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        tableVIEw.estimatedRowHeight = 44        tableVIEw.rowHeight = UItableVIEwautomaticDimension    }    func tableVIEw(_ tableVIEw: UItableVIEw,cellForRowAt indexPath: IndexPath) -> UItableVIEwCell {        let cell = tableVIEw.dequeueReusableCell(withIDentifIEr: "Cell",for: indexPath)        if indexPath.row % 2 == 0 {            cell.textLabel?.text = "Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incIDIDunt ut labore et dolore magna aliqua."            cell.detailTextLabel?.text = "<- textLabel"        } else {            cell.textLabel?.text = "detailTextLabel ->"            cell.detailTextLabel?.text = "Lorem ipsum dolor sit amet,sed do eiusmod tempor incIDIDunt ut labore et dolore magna aliqua."        }        return cell    }    func tableVIEw(_ tableVIEw: UItableVIEw,numberOfRowsInSection section: Int) -> Int {        return 10    }}

确保将textLabel和textDetailLabel的line属性设置为0,这是结果.

基本细胞

右细节细胞

左细节细胞

字幕细胞

我会将此报告为错误.

总结

以上是内存溢出为你收集整理的iOS 8中的自我调整大小(动态高度)单元 – 可能没有自定义UITableViewCell?全部内容,希望文章能够帮你解决iOS 8中的自我调整大小(动态高度)单元 – 可能没有自定义UITableViewCell?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1104759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存