我正在尝试弄清楚如何复制UITableViewCellStyleValue2样式,以便详细文本可以是多行 - 如“联系人”应用中的“地址”单元格所示。与“联系人”应用程序一样,某些字段(如街道名称)是可选的;如果街道不是零,它会显示3行而不是4行。
我错过了一个技巧,还是我必须在IB中创建自定义单元格?如何确保文本和详细文本标签与其他UITableViewCellStyleValue2单元格对齐?
感谢您的任何提示。
答案 0 :(得分:31)
另一轮搜索发现了这一点:
http://the-lost-beauty.blogspot.com/2009/11/multi-line-uitableviewcell-using.html
快速尝试,它可以工作 - 只需稍微设置字体大小。
答案 1 :(得分:1)
听起来像你必须要创建一个自定义的UITableCell。确保文本排列的唯一方法是使边距/文本宽度值正确,这可以通过反复试验或使用xScope等测量工具来完成。
答案 2 :(得分:1)
为您创建一个自定义单元格,并在其中放置UILabel和UITextView。定位标签&文本视图将其x,y位置与您在该表中使用的其他单元格相匹配。您可以在textview的文本中的任何位置插入“\ n”,以便进行换行。您可以使用以下内容根据textview中的行数调整textview高度:
CGRect frame = yourTextView.frame;
frame.size.height = yourTextView.contentSize.height;
yourTextView.frame = frame;
return frame.size.height + 20.0; // Pad the cell's height as necessary for your applicaion
答案 3 :(得分:0)
我还遇到了textLabel
和detailTextLabel
有不同立场的问题。解决方案:对于detailTextLabel
使用与textLabel相同的高度(例如13)