自定义UITableViewCell使用UITableViewCellStyleSubtitle&调整UILabel框架宽度

时间:2014-04-24 16:55:55

标签: ios uitableview uilabel autolayout

我的问题:我需要在表格视图单元格中显示文本和详细信息文本以及UISwitch,而不是文本重叠切换。使用UITableViewCellStyleSubtitle开始并使用[cell.contentView addSubview:mySwitch]添加切换。这一切都很好,但是当我开始添加一些我的真实数据时,一些文本非常长,并且由于默认textLabel的宽度,它与交换机重叠。如果我收缩开关,它太小而不能合理地敲击。我无法调整标签框架。

我尝试构建自定义标签并添加到单元格中,但我遗失的是内置于UITableViewCellStyleSubtitle的文本的内置自动布局(基于其长度动态移动textLabel)。

最近我得到的是使用自定义表格视图单元格,我在其中覆盖layoutSubviews并缩小宽度。然后在cellforrow中我使用该自定义单元格和initWithStyle:UITableViewCellStyleSubtitle。问题现在是一些文字没有包装。奇怪的是,如果文本适合一行(预宽度调整),调整高度后,它没有显示第二行的最后一个单词,它只是更瘦,但仍然是一行。其他一切看起来都很好,如果某些东西有足够的2行文字,那就是2行。我试过sizewithfont:constrainedtosize:linebreakmode:我可以让标签改变它的高度,但它没有调整它的位置在单元格中更高。

如何让标签知道所有文字不在一行(带有新宽度)并包装?试图避免为文本长度,高度,y位置等构建整个单元格和逻辑

0 个答案:

没有答案