我有一个稍长的字符串,当在tablView单元格中显示时会被截断。我这样做是为了使表格更宽:
tableView.rowHeight = 100;
如何缩小字体以及在表格视图单元格中包装文字?
答案 0 :(得分:14)
在tableView:cellForRowAtIndexPath:
中,您可以在textLabel(或descriptionLabel上设置一些属性,具体取决于您正在使用的单元格样式)来执行此操作。设置font
以更改字体,linkBreakMode
以使其自动换行,并设置numberOfLines
以设置最多行数(此后它将截断。您可以将其设置为0表示否最大
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* aCell = [tableView dequeueReusableCellWithIdentifier:kMyCellID];
if( aCell == nil ) {
aCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kMyCellID] autorelease];
aCell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:10.0];
aCell.textLabel.lineBreakMode = NSLineBreakByWordWrapping; // Pre-iOS6 use UILineBreakModeWordWrap
aCell.textLabel.numberOfLines = 2; // 0 means no max.
}
// ... Your other cell setup stuff here
return aCell;
}
答案 1 :(得分:2)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* Cell = [tableView dequeueReusableCellWithIdentifier:kMyCellID];
if( Cell == nil ) {
Cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kMyCellID] autorelease];
Cell.textLabel.font = [UIFont fontWithName:@"TimesNewRoman" size:10.0];
Cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
Cell.textLabel.numberOfLines = 2; // 0 means no max.
}
// your code here
return Cell;
}
答案 2 :(得分:0)
您应该将UITableViewCell子类化,并使其具有UITextView而不是UITextField。然后将您的子类分配给UITableView。