
在自定义cell中,添加下面两句话:
self.scrollView.userInteractionEnabled = NO//关闭scrollView的用户交互
[self.contentView addGestureRecognizer:self.scrollView.panGestureRecognizer]//让cell捕捉scrollView的点击事件并相应
除此之外,也可以给UIImageView添加手势,但是比较麻烦,不如这两句话方便。
但是此时需加上这一句;
self.myImageView.userInteractionEnabled = YES//用户交互,默认关闭,BOOL类型
UITapGestureRecognizer *tap =[[ UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)]
tap.numberOfTouchesRequired = 1
[self.myImageView addGestureRecognizer:tap]
-(void)tapAction:(UITapGestureRecognizer *)sender{
//实现方法
}
UIScrollView * view = [[UIScrollView alloc] initWithFrame:CGRectMake(5, 0, 295, 40)]view.backgroundColor = [UIColor redColor]
[view setContentSize:CGSizeMake(600, 40)]
[cell.contentView addSubview:view]
[view release]
这个只是加一个简单的scrollview
找到填充cell的委托,然后把UIScrollView 添加到cell里面去。[cell addsubview:view ]
多页面嵌套的实现方式1、底部是一个UIScrollView,然后在UIScrollView上添加视图View;
2、底部是一个UICollectionView,然后在cell上添加各种视图View
两种方式的区别就是,UICollectionView的重用机制,可以减小内存中读入的数据
3、底部是个UIController,然后添加UIScrollView,在UIController上添加目标UIController,在UIScrollView上添加目标UIController的view;
4、底部是个UIController,然后添加UICollectionView,在UIController上添加目标UIController,在UICollectionView上添加目标UIController的view;
可以保留UIcontroller的生命周期
JXCategoryView的实现
JXCategoryListContainerView继承与UIView
内部UI实现
WMPageController
首先子视图要继承WMPageController类
内部创建一个UIScrollview用于加载,我们需要展示的子视图;
在每次需要展示视图时候,通过addChildViewController添加视图;
// 把视图添加到当前Controller上
在视图消失以后,通过removeFromParentViewController移除控制器;
横向对比
1:WMPageController 为了保持生命周期的完整性,每次都需要对UIController进行 *** 作,增加了性能的消耗;
2:WMPageController底层为UIScrollView,没有进行视图的复用,如果作为首页,会占用较多的内存;
3:使用WMPageController必须要继承WMPageController,对工程的影响面较大,切入性要求较高;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)