簡體   English   中英

如何在Iphone中對齊中心單元格文本?

[英]How to align center cell text in Iphone?

我無法對齊中心單元格文本。 我想知道它是否可能是XML的問題?

我正在創建一個UILabel,將它與中心對齊並將其添加到單元格中。 這是我的代碼示例:

 if (cell==nil)
{
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UILabel *lblMenuTitle = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 250, 30)];
NSString *sectionString = [NSString stringWithFormat:@"%@",[[arrDataSection objectAtIndex:indexPath.row] valueForKey:kCasesName]];
[lblMenuTitle setText:sectionString];
[lblMenuTitle setTextAlignment:UITextAlignmentCenter];
lblMenuTitle.font = [UIFont boldSystemFontOfSize:18.0];
    [lblMenuTitle setNumberOfLines:0];
    [lblMenuTitle setTag:[[NSString stringWithFormat:@"1%d",indexPath.row] intValue]];
    [lblMenuTitle setLineBreakMode:UILineBreakModeWordWrap];
[lblMenuTitle setBackgroundColor:[UIColor clearColor]];
[cell addSubview:lblMenuTitle];

CGRect frame;
    CGSize size;

    frame = CGRectMake(20, 5, 250, 30);

    size = [lblMenuTitle.text sizeWithFont:[UIFont systemFontOfSize:18.0]
                               constrainedToSize:CGSizeMake(frame.size.width, 9999)
                                   lineBreakMode:UILineBreakModeWordWrap];

    frame.size = CGSizeMake(size.width+20, size.height);

    lblMenuTitle.frame = frame;
  }

  return cell;

您計算文本的大小( size = [lblMenuTitle.text sizeWithFont:…] )並修改lblMenuTitle標簽的框架,使其寬度為文本的大小(+ 20px)...

因此,文本不在單元格的中心是很正常的:文本在UILabel中居中( [lblMenuTitle setTextAlignment:UITextAlignmentCenter] )但標簽的寬度與文本本身相同! 因此,如果文本寬度為100px,則您的標簽寬度為120px ......但其幀的原點仍為x = 20!

保持標簽寬度與單元格寬度一樣大,讓文本對齊完成將文本居中放置到標簽中的工作,或者如果您仍希望將標簽大小調整為與文本相同的寬度,則將其框架對中( lblMenuTitle.center = cell.center例如)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM