小编use*_*946的帖子

sizewithattributes没有返回正确的大小

我想计算uitableview单元格中文本标签的高度.在看到sizewithfont被ios 7弃用之后,我实现了sizewithattributes但是返回值比标签对于它包含的文本的大小正确要小.我也试过sizetofit方法也无济于事.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    NSDictionary *message =  self.messages[indexPath.row];

    UILabel *nameLabel = (UILabel *)[cell.contentView viewWithTag:1];
    UILabel *messageContent = (UILabel *)[cell.contentView viewWithTag:3];
    UIImageView *image = (UIImageView *)[cell.contentView viewWithTag:2];
    messageContent.text = [message objectForKey:@"messageContent"];
    NSString *content = [message objectForKey:@"messageContent"];
    NSLog(@"Message: %@", content);

    CGSize textSize = [content sizeWithAttributes:@{ NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:17.0]}];
    messageContent.font = [UIFont fontWithName:@"HelveticaNue-Light" size:17.0];
    CGRect messageFrame = messageContent.frame;
    messageFrame.size = textSize;
    messageContent.frame = messageFrame;


    nameLabel.text …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uilabel sizewithfont ios

8
推荐指数
1
解决办法
7705
查看次数

标签 统计

cocoa-touch ×1

ios ×1

objective-c ×1

sizewithfont ×1

uilabel ×1