(基础)自定义单元格tableviewcell

显示效果

213233_d7Si_2458756.png

第一步先添加plist文件

213354_MG10_2458756.png

-------------------------------------------------------------------------------------------------

在创建模型

#import <Foundation/Foundation.h>


@interface  Message: NSObject

@property(nonatomic,copy)NSString*name;

@property(nonatomic,copy)NSString*icon;

@property(nonatomic,copy)NSString*age;

@property(nonatomic,copy)NSString*gender;

-(instancetype)initWithDict:(NSDictionary*)dict;

+(instancetype)StudentsWithDict:(NSDictionary*)dict;

@property(assign,nonatomic)BOOL hideTime;


@end

-----------------------------------------------------

#import "WANGStudents.h"


@implementation   Message

-(instancetype)initWithDict(NSDictionary*)dict

{

    if (self = [ super init] )

  {

第一种:

   self.name = dict [@" name " ];

   self.age   = dict [ @"age"];

   self .gender = dict [ @"gender"]; 

  self .icon = dict [@"icon"];

第二种:

  [self setValuesForKeyWithDictionary:dict ];


  }

}

+(instancetype)StudentsWIthDict:(NSDictionary*)dict

{

return [[self alloc]initWithDict:dict];

}
-----------------------------------------------------

在创建模型设置控件大小

#import<Foundation/Foundation.h>

#import<UIKit/UIKit.h>

#import"Message.h"

#define Font [UIFont systemFontOfSize:10]

@interface Message :NSObject

@property(assign,nonatomic,readonly)CGRect textFrame;

@property(assign,nonatomic,readonly)CGRect timeFrame;

@property(assign,nonatomic,readonly)CGRect tupeFrame;

@property(strong,nonatomic)Message * message;

@propertu(assign,nonatomic) CGFloat cellHight;

@end

-------------------------------------------------------------

#import "WYMessageFrame.h"


@implementation WYMessageFrame

-(void)setMessage:(Message*)Message

{

  int viewframe = [UIScren mainScreen].bounds.size.width;

  int padding = 3;

 int Width = viewframe;

 int Hight  = 20;

 int x = 0;

 int y = 0;

  if (!message.hideTime)

    {

        _timeFrame = CGRectMake(X, Y, Width, Hight);

    }

   

    int iconW  =30;

    int iconH = iconW;

    int iconX = 0;

    int iconY = CGRectGetMaxY(_timeFrame)+padding;

    if (message.type)

    {

        iconX =padding;

    }

    else

    {

        iconX =viewframe-padding-iconW;

    }

    _typeFrame = CGRectMake(iconX, iconY, iconW, iconH);

    

    int textY =iconY;

    int textW = 0;

    CGSize maxSize = CGSizeMake(200, MAXFLOAT);

    NSDictionary * dict = @{NSFontAttributeName:WYFont};

    CGSize reaSize = [ message.text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;

    int textH = reaSize.height+20;

    int textX = 0;

     textW =reaSize.width+30;

    if (message.type)

    {

        textX =CGRectGetMaxX(_typeFrame)+padding;

    }

    else

    {

        textX = viewframe-padding-iconW-textW;

    }


    _textFrame = CGRectMake(textX, textY, textW,textH );

    _cellHeight = MAX(CGRectGetMaxY(_textFrame), CGRectGetMaxY(_typeFrame)) ;

}

@end

}


先写到这里







转载于:https://my.oschina.net/u/2458756/blog/505658

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值