显示效果
第一步先添加plist文件
-------------------------------------------------------------------------------------------------
在创建模型
#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
}
先写到这里