UITableableView自定义cell

#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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值