我想创建一个UITableViewCell,在左边有两个蓝色文本“TextLabels”,右边是两个黑色的“DetailTextLabels”,风格类似于尽可能使用UITableViewCellStyleValue2。自定义UITableViewCell的样式看起来非常像UITableViewCellStyleValue2
到目前为止,我已经将TextLabel和DetailTextLabel文本设置为非常长的东西(以便它将占用分配给蓝色标签的整个宽度),将字体设置为UIColor.Clear,然后每次渲染时都会进行测量。这有很多原因是可怕的,但它的工作方式。
我想用一个自定义的UIView和一个自定义的Draw方法来实现这一点。这是一个更漂亮的解决方案,但现在我缺少一个重要的信息:用于显示TextLabel的区域的宽度。我可以对它进行硬编码,这似乎是在iOS上执行操作的可接受方式(即使它让我感觉脏),但是我必须在水平和垂直方向上对iPad和iPhone进行硬编码。然后,只要我的UITableView是简单的而不是分组,或者其他的,它可能会中断。
我在哪里可以得到这个愚蠢的标签区域的标准宽度?
谢谢!
您是否尝试过cell.frame.size.width? –
@AlanZeino会给我的单元格的宽度,而不是分配给蓝色标签的区域的宽度。 –
我认为你可能会接近这个反向 - 你想要的是从单元格左右边缘的标准插入,硬编码这些并将你的标签设置为自动大小(灵活宽度),这将覆盖你的肖像,风景, iPad等等。我不确定为什么要使用自定义视图并手动绘制而不是将标签添加为子视图? – jrturton