iOS开发 ----- UIScrollview UIPageControl

来源:互联网 发布:淘宝网店转让有风险吗 编辑:程序博客网 时间:2024/05/21 02:49

UIScrollView

    //创建滚动视图    //scrollViw的视图范围    UIScrollView * scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];    [scrollView addSubview:imageView];    //内容的大小 默认是scrollView的大小,改变为内容的大小,即可实现滚动    scrollView.contentSize = CGSizeMake(image.size.width, image.size.height);    //隐藏滚动条    scrollView.showsHorizontalScrollIndicator = NO;    scrollView.showsVerticalScrollIndicator = NO;    //相对于原点的偏移量    scrollView.contentOffset = CGPointMake(image.size.width/2 - scrollView.center.x, image.size.height/2 - scrollView.center.y);    scrollView.delegate = self;    //自带回弹效果,设置为no,则取消这个效果    scrollView.bounces = NO;    //分页效果,页的宽可以自己定制    scrollView.pagingEnabled = YES;    //最小缩放倍数    scrollView.minimumZoomScale = 0.5;    //最大缩放倍数    scrollView.maximumZoomScale = 4.0;

相关代理

#pragma mark scrollView 的代理时间#pragma mark 整个图片呗拖拽的过程中一直调用这个方法-(void)scrollViewDidScroll:(nonnull UIScrollView *)scrollView{    NSLog(@"一直被调用 x = %f y = %f",scrollView.contentOffset.x,scrollView.contentOffset.y);}#pragma mark 结束减速-(void)scrollViewDidEndDecelerating:(nonnull UIScrollView *)scrollView{    NSLog(@"减速的过程");}#pragma mark 将要减速-(void)scrollViewWillBeginDecelerating:(nonnull UIScrollView *)scrollView{    NSLog(@"将要减速");}#pragma mark 已经结束拖拽-(void)scrollViewDidEndDragging:(nonnull UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{}#pragma mark 将要开始拖拽-(void)scrollViewWillBeginDragging:(nonnull UIScrollView *)scrollView{}#pragma mark 将要结束拖拽-(void)scrollViewWillEndDragging:(nonnull UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout nonnull CGPoint *)targetContentOffset{}#pragma mark 滚动到顶部 点击状态栏返回顶部-(BOOL)scrollViewShouldScrollToTop:(nonnull UIScrollView *)scrollView{    //多个scrollView时会造成冲突,    //一般一个设为yes,其他为no可以解决冲突    //回到顶部, 可以添加刷新方法    return YES;}#pragma mark 指定那个view进行缩放-(nullable UIView *)viewForZoomingInScrollView:(nonnull UIScrollView *)scrollView{    return scrollView.subviews[0];}#pragma mark 缩放结束-(void)scrollViewDidEndZooming:(nonnull UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{    NSLog(@"缩放结束");}#pragma mark 缩放过程中一直调用-(void)scrollViewDidZoom:(nonnull UIScrollView *)scrollView{    NSLog(@"缩放中");}#pragma mark 将要缩放-(void)scrollViewWillBeginZooming:(nonnull UIScrollView *)scrollView withView:(nullable UIView *)view{    NSLog(@"将要缩放");}

UIPageControl

    _pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height - 40, self.view.frame.size.width, 40)];    //背景颜色    _pageControl.backgroundColor = [UIColor grayColor];    //一共有多少个点点    _pageControl.numberOfPages = 16;    _index = 0;    //当前页    _pageControl.currentPage = _index;    _pageControl.pageIndicatorTintColor = [UIColor redColor]; //非当前页的颜色    _pageControl.currentPageIndicatorTintColor = [UIColor greenColor]; //当前的颜色    _scrollView.delegate = self;
0 0
原创粉丝点击