Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在UITableViewCell文字包装中生成文本?_Iphone_Objective C_Cocoa Touch_Xcode_Uitableview - Fatal编程技术网

Iphone 如何在UITableViewCell文字包装中生成文本?

Iphone 如何在UITableViewCell文字包装中生成文本?,iphone,objective-c,cocoa-touch,xcode,uitableview,Iphone,Objective C,Cocoa Touch,Xcode,Uitableview,我有一个包含几个部分的分组UITableView。一些单元格中的文本可能会变得很长,我想知道如何将文本换行?看起来像这个问题,对吗?我真的不知道word wrap是怎么做的,但我假设您希望根据文本长度更改单元格大小,对吗?因此,您可以查看上述问题和答案,在标签上设置numberOfLines>1,并设置适当的lineBreakMode。您可能需要修改标签的框架以获得足够的空间。您可以在表视图委托的tableView:willDisplayCell:forRowAtIndexPath:中执行此操作

我有一个包含几个部分的分组UITableView。一些单元格中的文本可能会变得很长,我想知道如何将文本换行?

看起来像这个问题,对吗?我真的不知道word wrap是怎么做的,但我假设您希望根据文本长度更改单元格大小,对吗?因此,您可以查看上述问题和答案,在标签上设置numberOfLines>1,并设置适当的lineBreakMode。您可能需要修改标签的框架以获得足够的空间。您可以在表视图委托的tableView:willDisplayCell:forRowAtIndexPath:中执行此操作

eg

textLabel.numberOfLines = 0;
如果愿意,可以将其设置为固定行数。设置lineBreakMode可能是个好主意,您可能需要实现:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
使用:

NSString sizeWithFont:constrainedToSize:

您需要指定文本将使用的行数。 将其设置为零将自动换行

cell.textLabel.numberOfLines=0; // line wrap

将单元格高度设置得更大不会使文本更合适。它仍然向截断的文本显示“…”。“单元格中有一个标签的文本是NSString对象,字符串的长度可能是可变的,因此我无法在UITableViews:heightForCellAtIndex方法中为单元格设置恒定高度。”(从问题中复制),把它放到UILabel中,然后再试一次怎么样?如果我在单元格上设置了label属性,我就可以将其设置为wordwrap。如果标签的边框超过单元格的大小,则需要定义自定义单元格高度。我想这两个改变都需要做:)