ios開發之根據內容行數調整cell 高度,與label高度

來源:互聯網
上載者:User

標籤:style   color   os   io   for   ar   cti   line   

設定cell高度

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

{

     NoticeMessage* msg = [arrayNoticeMessage objectAtIndex:indexPath.section];//取出對應的section或者cell

    UIFont *msgFont = [UIFont fontWithName:@"arial" size:15];//設定字型與字型大小

    //定義行高

    uint textLineheight = [@"The brown fox jumps over the lazy dog" sizeWithFont:msgFont constrainedToSize:CGSizeMake(MAXFLOAT, MAXFLOAT)].height;

    //設定內容高度

    CGSize infoSize = [msg.strContent sizeWithFont:msgFont constrainedToSize:CGSizeMake(170, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

    return  infoSize.height;

 

設定label高度,在下面方法中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *DetailCellIdentifier = @"ValueDetailCell";

    

    static NSString *SimpleCellIdentifier = @"ValueDetailSimpleCell";

    

    NSLog(@"section %d",indexPath.section);

    //帶圖的資訊

    NoticeMessage* msg = [arrayNoticeMessage objectAtIndex:indexPath.section];

 

        DetailInfoTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:DetailCellIdentifier];

        

        if (cell == nil) {

            cell = [[DetailInfoTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:DetailCellIdentifier];

        }

        cell.contentView.layer.cornerRadius = 3;

        cell.contentView.layer.masksToBounds = YES;

        cell.contentView.layer.bounds = CGRectMake(0, 0, cell.contentView.frame.size.width, cell.contentView.frame.size.height-50);

        cell.contentView.backgroundColor = [UIColor colorWithWhite:0.8 alpha:0.3];

        

        cell.InfoDate.text = msg.strDate;

        cell.InfoTitle.text = msg.strTitle;

        cell.InfoContent.text = msg.strContent;

        //cell.InfoDate.text = msg.strTimeStamp;

        cell.backgroundColor = [UIColor clearColor];

    

    //設定label的高度;

        UIFont *msgFont = [UIFont fontWithName:@"arial" size:15];

        CGSize infoSize = [msg.strContent sizeWithFont:msgFont constrainedToSize:CGSizeMake(170, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

        CGRect frame = cell.InfoContent.frame;

        frame.size.height = infoSize.height;

        [cell.InfoContent setFrame:frame];

    

        return cell;

}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.