星空网 > 软件开发 > 操作系统

IOS xib在tableview上的简单应用(通过xib自定义cell)

UITableView是一种常用的UI控件,在实际开发中,由于原生api的局限,自定义UITableViewCell十分重要,自定义cell可以通过代码,也可以通过xib。

这篇随笔介绍的是通过xib自定义cell。

首先通过gif介绍如何创建xib。

IOS xib在tableview上的简单应用(通过xib自定义cell)images/loading.gif' data-original="http://images2015.cnblogs.com/blog/913387/201603/913387-20160318164908553-1997000243.gif" />

然后实现代码部分,要注意的是实现代码的同时要使代码与xib相关联。-如图

IOS xib在tableview上的简单应用(通过xib自定义cell)

下面便是代码,一些解释我在代码中注释了。

ViewController.m

//// ViewController.m// CX-Xib在tableView中的简单应用//// Created by ma c on 16/3/18.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "ViewController.h"#import "CXTableViewCell.h"static NSString * identifier = @"cxCellID";@interface ViewController()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, strong) UITableView * tableView;@end@implementation ViewController#pragma mark - set_and_get-(UITableView *)tableView{    if (!_tableView) {        _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 20, CGRectGetWidth(self.view.frame), 300) style:UITableViewStylePlain];        _tableView.delegate = self;        _tableView.dataSource = self;        _tableView.rowHeight = 100;        [_tableView registerNib:[UINib nibWithNibName:@"tableViewCellXib" bundle:nil] forCellReuseIdentifier:identifier];      }  return _tableView;}#pragma mark - life- (void)viewDidLoad {  [super viewDidLoad];    [self.view addSubview:self.tableView];}#pragma mark - deleDate-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{  return 1;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    CXTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier];    cell = [[[UINib nibWithNibName:@"tableViewCellXib" bundle:nil]instantiateWithOwner:self options:nil]lastObject];    return cell;  }@end

 CXTableViewCell.m

//// CXTableViewCell.m// CX-Xib在tableView中的简单应用//// Created by ma c on 16/3/18.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "CXTableViewCell.h"@interface CXTableViewCell ()//这里要先写空间,然后把xib上的控件和代码相连@property (nonatomic, weak)IBOutlet UILabel * upLabel;@property (nonatomic, weak)IBOutlet UILabel * downLable;@property (nonatomic, weak)IBOutlet UIImageView * CXimageView;@end@implementation CXTableViewCell-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];  if (self) {        //不要把控件add到view上    //add到contentView才是你最正确的选择    [self.contentView addSubview:self.CXimageView];        [self.contentView addSubview:self.upLabel];        [self.contentView addSubview:self.downLable];  }  return self;}//采用xib自定义cell xib上的信息要放在这里更新- (void)awakeFromNib {   self.CXimageView.image = [UIImage imageNamed:@"caishen.jpg"];  self.upLabel.text = @"恭喜发财";  self.downLable.text = @"财源广进";  }- (void)setSelected:(BOOL)selected animated:(BOOL)animated {  [super setSelected:selected animated:animated];}@end

在实际开发中xib的作用不仅仅局限于此,还用更多的功能等待你的发现。




原标题:IOS xib在tableview上的简单应用(通过xib自定义cell)

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

极速回复率指标:https://www.goluckyvip.com/tag/34372.html
极速指引:https://www.goluckyvip.com/tag/34373.html
极兔国际:https://www.goluckyvip.com/tag/34374.html
极兔国际物流:https://www.goluckyvip.com/tag/34375.html
极兔海外仓:https://www.goluckyvip.com/tag/34376.html
极兔海外仓怎么收费:https://www.goluckyvip.com/tag/34377.html
深圳到西安自驾路线攻略 深圳到西安自驾最佳路线:https://www.vstour.cn/a/411228.html
松花蛋是哪里的特产松花蛋的产地:https://www.vstour.cn/a/411229.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流