您的位置:首页 > 产品设计 > UI/UE

iPhone:UITableVIew 的一些理解

2011-11-21 16:02 295 查看
UITableVIew 用的不少,其重用机制还是有点迷惑。之前有用过SDWebImage和ASIHttpRequest,在于UITableView结合的时候总是出项一些问题。今天在看NSOperation文档的时候,看了苹果官方的demo:LazyTableImages,其中对于UITableView的操作让我豁然开朗,原来是我想的太复杂了....

结合该Demo,做个小总结:

1、在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法中先判断此时的UITableVIew是否被拖动或者处于惯性滑动的状态(tableView.dragging和tableView.decelerating:Bool类型),如果不是,则开启下载线程。由于重用机制的存在,只有屏幕上的cell才会被开启线程。(之前很痛恨这个重用机制,还专门写了篇博客来总结如何干掉这个机制,现在回想起来觉得自己too
simple too naive 了



2、UITableView可以响应UIScrollView 的delegate,因为UITableView中就有一个ScrollView 。(得先声明:@interface RootViewController : UITableViewController <UIScrollViewDelegate>),

#pragma mark - (UIScrollViewDelegate)

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{

}


3、[self.tableView indexPathsForVisibleRows]; 这个参数也很有用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: