你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS---UITableViewCell自適應行高(非AutoLayout)

IOS---UITableViewCell自適應行高(非AutoLayout)

編輯:IOS開發綜合

如題所示,本程序是使用非AutoLayout寫的UITableView自適應行高,之後筆者將會寫一個基於AutoLayout的自適應行高的小demo。
PS:此小程序只適用於剛接觸IOS的小朋友,只用做參考,毫無技術性,大神勿噴。

上代碼:

//UITableViewCell
#import 

@interface commentaryCell : UITableViewCell

@property (retain, nonatomic)  UILabel *userID;

@property (retain, nonatomic) UILabel *date;

@property (retain, nonatomic) UILabel *commentary;

-(void)setContent:(NSString *)userid_dic :(NSString *)date_dic :(NSString *)comment_dic;
@end

#import "commentaryCell.h"

float width;
float height;
NSString *commentaryStr;

@implementation commentaryCell

@synthesize userID;
@synthesize date;
@synthesize commentary;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.contentView.backgroundColor = [UIColor whiteColor];

        [self createView];

    }
    return self;
}

-(void)createView{
    width = self.contentView.frame.size.width;
    height = self.contentView.frame.size.height;
    //用戶ID
    userID = [[UILabel alloc] initWithFrame:CGRectMake(width*0.05, height*0.3, width*0.3, height*0.3)];
    userID.font = [UIFont systemFontOfSize:14];
    [userID setTextColor:[UIColor colorWithRed:85.0/255.0 green:85.0/255.0 blue:85.0/255.0 alpha:0.6]];
    [self.contentView addSubview:userID];

    //時間圖標
    //時間
    date = [[UILabel alloc] initWithFrame:CGRectMake(width*0.4, height*0.3, width*0.5, height*0.3)];
    date.font = [UIFont systemFontOfSize:14];
    [date setTextColor:[UIColor colorWithRed:85.0/255.0 green:85.0/255.0 blue:85.0/255.0 alpha:0.6]];
    [self.contentView addSubview:date];

    //評論
    commentary = [[UILabel alloc] init];
    [commentary setNumberOfLines:0];
    commentary.font = [UIFont systemFontOfSize:16];
    [commentary setTextColor:[UIColor colorWithRed:85.0/255.0 green:85.0/255.0 blue:85.0/255.0 alpha:1]];
    [self.contentView addSubview:commentary];
}

-(void)setContent:(NSString *)userid_dic :(NSString *)date_dic :(NSString *)comment_dic{
    userID.text = userid_dic;
    date.text = date_dic;

    [commentary setNumberOfLines:0];
    commentary.text = comment_dic;
    commentary.font = [UIFont systemFontOfSize:16];
    CGSize commentSize = [self returnSize:commentary.text font:commentary.font];
    [commentary setFrame:CGRectMake(width*0.05, 41, commentSize.width, commentSize.height)];
}

//返回Label的Size
-(CGSize)returnSize:(NSString *)text font:(UIFont *)font{
    float width = [UIScreen mainScreen].bounds.size.width;
    float height = [UIScreen mainScreen].bounds.size.height;
    CGSize _Size = CGSizeMake(width*0.9, height);
    CGSize Size = [text sizeWithFont:font constrainedToSize:_Size lineBreakMode:NSLineBreakByWordWrapping];
    return Size;
}
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved