UIScrollView 加载多个view view还可以交换顺序(2)

时间:2023-03-08 15:18:08
UIScrollView 加载多个view view还可以交换顺序(2)

在上的代码中 UIview都在一个页面 要是每一个view对应一个页面 操作每一个view代码都在viewcontroller里面就会很乱,那么我们就将view重新做一下 创建想要的页面继承与view 如

diyigeview *view1;

diergeview *view2;

disangeview *view3;

disigeview *view4;

diwugeview *view5;

diliugeview *view6;

diqigeview *view7;

dibagevie *view8;

这样就可以把每个页面的代码写到对应的页面了,

其次还要修改手势,在这里手势就不能作用于创建的代码功能view中 只作用于父类的三个view 由于我们使用了scrollview的重用机制,那么每次显示在我们面前的父类view都是三个中 最中间那个

[viewcenter addGestureRecognizer:leftSwipeGestureRecognizer];

[viewcenter addGestureRecognizer:rightSwipeGestureRecognizer];

做到这里差不多完成了 不过运行时会出现小小的bug 我们还需要在手势方法里面数组交换后添加当前手势作用页面

[viewcenter addGestureRecognizer:leftSwipeGestureRecognizer];

[viewcenter addGestureRecognizer:rightSwipeGestureRecognizer];

总的来说 就改三个地方 1 view创建改变 2 手势作用地方改变

下面是继承view里面的的初始化

-(id)initWithFrame:(CGRect)frame{

self = [super initWithFrame:frame];

if (self) {

UIView *view = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];

viewde.backgroundColor = [UIColor groupTableViewBackgroundColor];

[self addSubview:view];

UILabel *labelview2 = [[UILabel alloc]initWithFrame:CGRectMake(100, 110, 100, 25)];

labelview2.text = @"第二个页面";

[view addSubview:labelview2];

}

return self;

}