#import "ViewController.h"
#import "Message.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UITextField *textField;
@end
NSString *myName = @"jacky";
@implementation ViewController
- (IBAction)sendMessage:(UIButton *)sender
{
Message *msg = [Message new];
msg.UserName =myName;
msg.faceName = @"f3";
msg.message = self.textField.text;
msg.date = [NSDate date];
[self.messages addObject:msg];
Message *msg2 = [Message new];
msg2.UserName = @"Chris";
msg2.message = @"呵呵";
msg2.faceName = [NSString stringWithFormat:@"f%d",arc4random_uniform(9)];
msg2.date = [NSDate date];
[self.messages addObject:msg2];
[self.tableView reloadData];
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.textField.delegate = self;
//设置tableview的属性
self.tableView.rowHeight = 120;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.messages = [[NSMutableArray alloc]init];
Message *msg = [[Message alloc]init];
msg.UserName = @"Chris";
msg.message = @"一起去打球吗?";
msg.faceName = [NSString stringWithFormat:@"f%d",arc4random_uniform(9)];
msg.date = [NSDate date];
[self.messages addObject:msg];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.messages.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellID;
Message *msg = self.messages[indexPath.row];
if ([msg.UserName isEqualToString:myName])
{
cellID = @"myCell";
}
else
{
cellID = @"msgCell";
}
//1、从重用对象池中找不用的cell对象
UITableViewCell *cell =[self.tableView dequeueReusableCellWithIdentifier:cellID];
//2、如果没找到就自己创建
if (cell ==nil)
{
//从xib文件中加载自定义cell
if ([msg.UserName isEqualToString:myName])
{
NSBundle *bundle = [NSBundle mainBundle];
cell =[bundle loadNibNamed:@"msgCell" owner:nil options:nil][1];
}
else
{
NSBundle *bundle = [NSBundle mainBundle];
cell =[bundle loadNibNamed:@"msgCell" owner:nil options:nil][0];
}
}
//3、设置cell的属性
UIImageView *imageView = [cell viewWithTag:1];
[imageView setImage:[UIImage imageNamed:msg.faceName]];
if (![msg.UserName isEqualToString:myName])
{
UILabel *nameLabel = [cell viewWithTag:2];
nameLabel.text = msg.UserName;
}
UIButton *button = [cell viewWithTag:3];
[button setTitle:msg.message forState:UIControlStateNormal];
UILabel *dataLabel = [cell viewWithTag:4];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat= @"HH:mm:ss";
dataLabel.text = [formatter stringFromDate:msg.date];
return cell;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}