进击的KFC:UI(七)滚动视图 和 分页按钮

来源:互联网 发布:会员返利系统源码 编辑:程序博客网 时间:2024/06/04 08:16

一.pragma mark - UIScrollView滚动视图

思考套路:
1.找适合的代理方法
2.从方法中 操作要改变的
3.判断时的条件:偏移量,活动范围,当前的scrollView

// 1.初始化UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds];// 2.设置属性scrollView.background = [UIColor yellowColor];// 设置显示内容的区域(是滑动的范围) 我们滑动的是scrollView,不是图片scrollView.contentSize = CGSizeMake(KScreenWidth * 3,KScreenHeight * 2);// 设置偏移量 (指的是把scrollView的原点从(0,0)偏移到(x,y));scrollView.contentOffSet = CGPointMake(x,y);// 关闭滚动条 (默认是显示的)scrollView.showHorizontalScrollIndicator = NO;scrollView.showVerticalScrollIndicator = NO;// 设置整页滑动scrollView.pagingEditing = YES;// 设置回弹效果scrollView.bounces = YES;  // 默认是YESscrollView.alwaysBouncesHorizontal = YES;  // 开启水平方向上的回弹;scrollView.alwaysBouncesVertical = YES;    // 开启竖直方向上的回弹;// 设置缩放的比例scrollView.minimumZoomScale = 0.5;   // 最小是原来的一半scrollView.maximumZoomScale = 2;     // 最大是原来的两倍[scrollView setZoomScale:1 animated:YES];  // 还原原来的比例,且有动画// 设置代理,遵循的是<UIScrollViewDelegate>协议scrollView.delegate = self;

二.pragma mark - UIScrollViewDelegate协议

1.一滑动就触发- (void)scrollViewDidScroll:(UIScrollView *)scrollView {     NSLog(@"滑动时,一直在触发");}2.一缩放就触发- (void)scrollViewDidZoom:(UIScrollView *)scrollView{     NSLog(@"一缩放就触发");     // 缩放时按中心点来缩放,这样图片的中心位置就不会发生变化     UIImageView *imageView = scrollView.subViews[0];     imageView.center = self.view.center;}3.实现缩放的方法// 指定一个要缩放的师徒(肯定是ScrollView的子视图),一般是UIImageView- (void)viewForZoomingInScrollView:(UIScrollView *)scrollView {     // 因为该scrollView上只有一个试图     return scrollView.subViews[0];}4.缩放已经结束- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:()view atScale:(CGFloat)scale {      NSLog(@"缩放已经结束");}5.将要开始拖拽 (最初调用的方法)- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{    NSLog(@"将要开始拖拽");}6.已经结束拖拽- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelate{     NSLog(@“已经结束拖拽”);}7.将要开始减速- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{      NSLog(@"将要开始减速");}8.已经结束减速 (停下来)- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {     NSLog(@"已经结束减速");}9.改变偏移量的动画结束时,触发- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{     NSLog(@“动画结束后触发");}

二.pragma mark - UIPageControl 分页按钮

// 初始化UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(100,100,200,50)];// 设置属性// 设置一共多少页pageControl.numberOfPage = 5;// 设置当前显示第几页ageControl.currentPage = 1;// 设置 未选中的 和 当前选中的点的填充颜色pageControl.pageIndicatorTintColor = [UIColor greenColor];pageControl.CurrentPageIndicatorTintColor = [UIColor redColor];// 给pageControl添加方法[pageControl addTarget:self action:@selector(change:)forControlEvents:(UIControlEventValueChanged)];// 显示self.view addSubView:pageControl;
0 0
原创粉丝点击