我有一个UITableView
单元格,有一些文字而且太长了所以我希望它能自动调整大小。这是我尝试过的:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//set colors
UIColor *garnetColor = [UIColor colorWithRed:85.0f/255.0f green:0/255.0f blue:3/255.0f alpha:1.0];
UIColor *garnetOffSetColor = [UIColor colorWithRed:127.0f/255.0f green:1/255.0f blue:6/255.0f alpha:1.0];
UIColor *uAlbanyGoldColor = [UIColor colorWithRed:175.0f/255.0f green:120/255.0f blue:40/255.0f alpha:1.0];
UIColor *uAlbanyGoldOffSetColor = [UIColor colorWithRed:190.0f/255.0f green:135/255.0f blue:40/255.0f alpha:1.0];
// UIColor *uAlbanyPurpleColor = [UIColor colorWithRed:78/255.0f green:26/255.0f blue:128/255.0f alpha:1.0];
UIColor *RPIRedColor = [UIColor colorWithRed:158/255.0f green:8/255.0f blue:3/255.0f alpha:1.0];
UIColor *RPIRedOffSetColor = [UIColor colorWithRed:206/255.0f green:12/255.0f blue:12/255.0f alpha:1.0];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
cell.textLabel.adjustsFontSizeToFitWidth = YES;
}
//more code for the cells
}
那么还有另一种调整文本大小的方法吗?
感谢您的帮助。
答案 0 :(得分:1)
使用此
cell.textLabel.adjustsFontSizeToFitWidth = YES;
答案 1 :(得分:0)
adjustsFontSizeToFitWidth不适合你。
您需要使用heightForRowAtIndexPath方法。以下是该方法的示例。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
float cellHeight = [STRING_THAT_YOU_WANT_TO_DISPLAY sizeWithFont:COMMENT_FONET_NEW constrainedToSize:CGSizeMake(contentWidth - 65 - 10 - 10, 400)].height;
return cellHeight ;
}
希望它适合你:)
答案 2 :(得分:0)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGSize maximumCellSize = CGSizeMake(maximumCellWidth, maximumCellHeight); // (200, 1000) for example
CGRect textRect = [textToShow boundingRectWithSize:maximumCellSize
options:(NSStringDrawingUsesLineFragmentOrigin)
attributes:@{NSFontAttributeName:[UIFont fontWithName:@"System" size:15]} // attributes of textToShow
context:nil];
return textRect.size.height + sumOfHeightsOfOtherConstantStuffInCell;
}