2 iabelcaiarray IabelCaiArray 于 2015.07.04 11:32 提问

iOS,重用一个自己定义的视图

像tableview的cell和mapview的anonation那样重用,自己写的一个视图该怎么让它的父视图去重用它?

1个回答

zhao18933
zhao18933   2015.07.06 08:36

举个例子,你自己有个ScrollView,里面有很多重复的view,然后scrollView可以滑动,实际被显示出来的只有屏幕内的视图
所以你要建立两个array,一个是用来引用正在显示的view,标记为arrayA,一个用来引用屏幕外的view(也就是可重用的视图),标记未arrayB
当你滑动列表时,就动态判断,哪些视图已经跑到了屏幕外,这时将这个视图从arrayA中移除,加入到arrayB中。然后你开始寻找可重用的view,从arrayB中随便取出一个,然后从arrayB中移除,加入到arrayA中,并显示出来

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
XZ_iOS之collectionView的header和footer的重用
效果图如下,每一个section的头视图是一个label 代码如下: // 1.创建collectionView UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];     flowLayout.itemSize = CGSizeMake( W
ios UItableView,UITableViewHeaderFooterView分组头部的重用机制,简单地仿射变换CGAffineTransform
怎样设置包括第一栏在内相同高度的section(小技巧,虽然容易但容易忽略)      *第一步,在viewdidload里将尾部设为0,table.sectionFooterHeight = 0;(代理方法)- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{   
UICollectionView重用时的视图重叠
在使用UICollectionView的时候会出现在cell上添加视图后重用时视图重叠了,如果只是添加了一张图片在上面可能你不能发现,但添加了UILabel时你就能看到如下的效果,因为在初始化cell时不像UITableView一样调用init的一些方法,所以CollectionView是在init方法是就已经把视图初始化出来了,所以再添加就会重叠,一下2种方法以供使用。    
UICollectionView section的头视图 复用BUG解决
-(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{         UICollectionReusableVie
iOS cell重用机制导致数据重叠显示解决方法
当页面拉动需要显示新数据的时候,把最后一个cell进行删除 就有可以自定义cell 此方案即可避免重复显示。 // 定义唯一标识 static NSString *CellIdentifier = @"Cell"; // 通过唯一标识创建cell实例 UITableViewCell *cell = [tableView dequeueReusableCellWithI
iOS tableView的headview复用
有时候类似评论页面需要有父评论包含下面子评论的UI,可以通过headview的方法来实现 iOS tableView 的headview和footview都是原生支持复用的,方法类似cell的代理方法 首先我们新建一个继承UITableViewHeaderFooterView的类命名:MZRewardCommentView 在init方法里写上自定义的UI -(instancety
UITableViewCell 可重用单元cell清除subViews
今天遇到了一个问题,在UITableViewCell上添加SubView后,点击状态(高亮)时,出现重叠现象,原来是UItableView的重用机制问题,解决方法: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell重用注意要点(解决视图重叠问题)
刚接触√,总会遇到很多莫名其妙的困难, 最容易造成bug的是,我总以为UICollectionView和UITableView是差不多的,就先入为主基本就照抄uitableview的东西去做,以为只是把几个数据源方法和代理方法改个名字而已,这就是bug不断的根源!! 第一个问题:起码要显示点东西吧:     创建UICollectionViewFlowLayout并注册! 跟uitablev
IOS开发之CollectionViewCell重用产生重叠的处理方法
最近在公司的项目的时候在使用CollectionViewCell的时候遇到了两个问题: 第一个:无法使用viewWithTag来获取控件 具体情况是:将下拉刷新和CollectionViewCell结合在一起使用出现的问题,首先是无法通过Tag获取控件,后来通过以下的方式解决的:勾选箭头所指的选项,这样就不会报错了。 但是搭配下拉刷新控件后,下拉刷新后还是会报错,不知道为什么。后来采
ios tableView那些事 (十六) UITableView中Cell重用机制导致内容重复解决方法
转自   http://www.2cto.com/kf/201308/238449.html UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UI