码迷,mamicode.com
首页 > 移动开发 > 详细

IOS---UITableViewCell自适应行高(非AutoLayout)

时间:2015-04-23 15:38:27      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ios   uitableviewcell   

如题所示,本程序是使用非AutoLayout写的UITableView自适应行高,之后笔者将会写一个基于AutoLayout的自适应行高的小demo。
PS:此小程序只适用于刚接触IOS的小朋友,只用做参考,毫无技术性,大神勿喷。

上代码:

//UITableViewCell
#import <UIKit/UIKit.h>

@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;
}

IOS---UITableViewCell自适应行高(非AutoLayout)

标签:ios   uitableviewcell   

原文地址:http://blog.csdn.net/lf644206005/article/details/45222313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!