最近用TableView来写一个视频搜索的APP首页,然后做出了发现,有三个自定义的单元格,然后第一个是一个ScrollView,发现,当做好了以后,往下滑几次页面,上面的ScrollView自己动的速度越来越快,而且有一下label直接重复显示,一层叠加一层,最后发现是单元格重用的缘故。所以,有时候为了避免出现这种问题,就用ScrollView来代替整个的TableView,然后里面的自定义单元就用UIView来代替。
1。为ScrollView来写一个Model,便于获取数据方便。
@interface ScrollViewItemModel : NSObject
@property (nonatomic,strong) NSString *titleName;
@property (nonatomic,strong) NSString *imagePath;
@property (nonatomic,strong) NSString *imageUrl;
@end
@protocol ScrollViewItemModel<NSObject>
@end
@interface ScrollModel : NSObject
@property (nonatomic,strong) NSMutableArray <ScrollViewItemModel> *contents;
2 自定义UIView
3 在相应的controller中编写代码,导入自己自定义的UIView
(1)先在controller中定义一个大的ScrollView
self.HomeSrcoll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0,SCREEN_WIDTH, SCREEN_HEIGHT)];
CGFloat contentH=800;
//设置滚动方向为X方向
self.HomeSrcoll.contentSize=CGSizeMake(0,contentH);
//设置不分页
self.HomeSrcoll.pagingEnabled=NO;
self.HomeSrcoll.delegate=self;
(2)加载刚刚写的xib
//加载xib
UINib *nib = [UINib nibWithNibName:@"ScrollView" bundle:nil];
NSArray *nibArray = [nib instantiateWithOwner:self options:nil];
ScrollView *scroll = [nibArray firstObject];
scroll.frame = CGRectMake(0, 0, SCREEN_WIDTH, 100);
[scroll setData:self.scrollViewModel];
[self.homeScrollView addSubview:scroll];