iOS tableView的分类

主要是学习分类,挺不错的样子,还没有加完,加完还需要2个类,一个数据类,一个cell子控件的大小类

大致分了一下,一个uitableview需要几个方法去实现, 创建一个tableivew,自定义一个cell,一个cell的模型,一个cell子控件的大小,复杂的话可以在加一个继承tableview的方法1般是3种或者4种,或者是5种。

#import "ViewController.h"

@interface XXTableiewCell : UITableViewCell

@end

const float XXTableiewCell_fontSize = 12;

@interface XXTableiewCell ()

@property (strong, nonatomic) UILabel * titleLabel;

@property (strong, nonatomic) UILabel * showTilleLable;

@end

@implementation XXTableiewCell

+ (instancetype)cellWithTableView:(UITableView *)tableView{

static NSString *cellID = @"cellId";

XXTableiewCell * cell = [[XXTableiewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];

return cell;

}

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

if(self){

[self setViewUI];

}

return self;

}

- (void)setViewUI{

_titleLabel = [[UILabel alloc] init];

_titleLabel.font = [UIFont systemFontOfSize:XXTableiewCell_fontSize];

_titleLabel.textColor = [UIColor grayColor];

_titleLabel.textAlignment = NSTextAlignmentLeft;

_titleLabel.backgroundColor = [UIColor clearColor];

[self.contentView addSubview:_titleLabel];

_showTilleLable = [[UILabel alloc] init];

_showTilleLable.font = [UIFont systemFontOfSize:XXTableiewCell_fontSize];

_showTilleLable.textColor = [UIColor grayColor];

_showTilleLable.textAlignment = NSTextAlignmentLeft;

_showTilleLable.backgroundColor = [UIColor clearColor];

[self.contentView addSubview:_showTilleLable];

}

- (void)layoutSubviews{

[super layoutSubviews];

_titleLabel.frame = CGRectMake(10, 0, self.contentView.frame.size.width-20, 20);

_showTilleLable.frame  = CGRectMake(_titleLabel.frame.origin.x, _titleLabel.frame.size.height + _titleLabel.frame.origin.y + 5, _titleLabel.frame.size.width, _titleLabel.frame.size.height);

}

@end

@interface ViewController () <UITableViewDataSource, UITableViewDelegate>

@property (strong,nonatomic)NSMutableArray * resultArry;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

_resultArry = [NSMutableArray arrayWithArray:[UIFont familyNames]];

UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];

tableView.dataSource = self;

tableView.delegate = self;

[self setExtraCellLineHidden:tableView];

[self.view addSubview:tableView];

}

// 隐藏多余cell

-(void)setExtraCellLineHidden: (UITableView *)tableView

{

UIView *view = [UIView new];

view.backgroundColor = [UIColor clearColor];

[tableView setTableFooterView:view];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return _resultArry.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

XXTableiewCell * cell = [XXTableiewCell cellWithTableView:tableView];

cell.titleLabel.text = [NSString stringWithFormat:@"%ld",(NSInteger)indexPath.row + 1];

cell.showTilleLable.text = [NSString stringWithFormat:@"%@",_resultArry[indexPath.row]];

return cell;

}

#pragma mark-设置每一组的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 50;

}

#pragma mark 设置选中处理方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSLog(@"%ld",indexPath.row + 1);

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

时间: 2024-11-25 06:44:52

iOS tableView的分类的相关文章

【知识点】iOS证书的分类和申请介绍

iOS证书的分类   1.ios测试证书(安装到非越狱手机测试调试) iOS测试证书申请介绍 2.iOS发布证书(发布上架到App Store) iOS发布证书申请介绍 3.iOS推送证书(app如果有推送功能需要) iOS推送证书申请介绍 4.iOS开发证书(xcode开发测试用) iOS开发证书申请介绍 5.iOS企业证书(不上架App Store直接使用) iOS企业证书申请介绍 常用的iOS证书就是这几类,不同的使用环境.对应不同的iOS证书,根据需求去创建.

iOS tableview

每个section的row数量(都是从0下标开始) (http://blog.csdn.net/hmt20130412/article/details/20831377) iOS tableview,布布扣,bubuko.com

iOS仿京东分类菜单之UICollectionView内容

 iOS仿京东分类菜单之UICollectionView内容 在 上<iOS仿京东分类菜单实例实现>已经实现了大部分主体的功能,本文是针对右边集合列表进行修改扩展,使它达到分组的效果,本文涉及到的主要是UICollectionView的知识内容,左边列表的实现见上一篇文章,先看实现的效果图: 一:实体的创建 1.1分组实体的创建(tagID跟左边表格进行关联,roomArray是存放房间的数组,也就是单元格的集合) #import <Foundation/Foundation.h>

关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol

关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 2014-02-18 19:57 315人阅读 评论(0) 收藏 举报 1.category,覆盖原类的方法,即使不引用该category头文件,也能覆盖,respondsToSelector:方法也能响应.2.category,不可以有私有变量,但是可以有@property的声明,property的声明只是声明了该类的set,get方法(需要引用该category的头文件),但是categ

iOS tableview cell 的展开收缩

iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>{ NSMutableArray *_allArray;//创建一个数据源数组 NSMutableDictionary *dic;//创建一个字典进行判断收缩还是展开 } @property (nonatomic,strong)UI

iOS TableView实现QQ好友列表(三)

上节我们讲到如何展示好友信息 iOS TableView实现QQ好友列表(二) http://blog.csdn.net/lwjok2007/article/details/46549111 接下来我们将分组点击的时候折叠起来. 首先新建一个可变字典用来存储当前列表是否展示 NSMutableArray *selectedArr;//控制列表是否被打开 selectedArr=[[NSMutableArray alloc]init]; 根据前两节所讲,我们讲分组名称放在section的heade

[IOS Tableview] cell自定义view显示错误问题

问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况. 我做的是一个下载界面,我为了简化问题,就把问题设定为,tag==1的cell已下载,加载时就把已下载的cell的label显示为蓝色.其余默认为黑. 比如我在代码里,想要tag==1的cell的label字体为蓝色,这样写就会出现上下拖动时tag==11的也出现蓝色(视具体情况而定). if([cell.tag==1){ //tag==1就把label显示为蓝色 cell.label.

IOS TableView详解(一)

先考虑tableView中的cell,是变高还是等高,这个很重要,先考虑等高的情况: 一.cell等高 1. 新建一个类,使其继承UITableViewCell类,然后记得创建一个绑定的Xib文件 如果cell等高的话,那说明cell中的宽度已确定,高度也确定,那么最好先将xib中的cell的设计图扩大到实际的大小,这样才能看到真正的情况,这时候因为cell中的宽度,高度也确定,相当于一个宽高确定的View,所以,可以通过cell的右边界和下边界来限制里面的view 2.在tableView所在

GitHub上史上最全的iOS开源项目分类汇总

学了这么久,还是抽时间把github上比较好用的第三方总结了一下: Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-       BFKit 又一套Category类型的 Kit,还有几个工具类       APUtils 又一套Category类型的 Kit       QSKit 又一套Category类型的 Kit       iOS-Categories 又一套Category类型的 Kit       BlocksKit 将B