利用DTGridView实现横向滚动的tableview

来源:互联网 发布:php安装教程 windows 编辑:程序博客网 时间:2024/05/23 13:10
我们都知道tableview的实现原理,就是创建当前可见个数的tablecell,滚动过程中只是更改不可见的tablecell到可见的位置并且更新数据。这样可以避免滚动很多屏不用创建相应的视图,这样就不会造成内存泄漏。
下面是实现的效果图:

下面是实现的代码:

#pragma mark DTGridViewDataSource Methods
- (NSInteger)numberOfRowsInGridView:(DTGridView *)gv { 
return 1; 
}
- (NSInteger)numberOfColumnsInGridView:(DTGridView *)gv forRowWithIndex:(NSInteger)index { 
return 20; 
}
- (CGFloat)gridView:(DTGridView *)gv heightForRow:(NSInteger)rowIndex {
return gv.frame.size.height; 
}
- (CGFloat)gridView:(DTGridView *)gv widthForCellAtRow:(NSInteger)rowIndex column:(NSInteger)columnIndex { 
return gv.frame.size.width; 

- (DTGridViewCell *)gridView:(DTGridView *)gv viewForRow:(NSInteger)rowIndex column:
(NSInteger)columnIndex { 
return gv.frame.size.width; 

- (DTGridViewCell *)gridView:(DTGridView *)gv viewForRow:(NSInteger)rowIndex column:(NSInteger)columnIndex { 
MyTableCell *cell = (MyTableCell *)[gv dequeueReusableCellWithIdentifier:@"cell"]; 
if (!cell) { 
cell = [[[NSBundle mainBundle] loadNibNamed:@"MyTableCell" owner:self options:nil] objectAtIndex:0]; 
cell.identifier = @"cell"; 

[cell onShowCell]; 
return cell; 
}
原创粉丝点击