UIScrollView滚动条的使用

来源:互联网 发布:未来教育模拟软件 编辑:程序博客网 时间:2024/05/17 20:35


// 初始化    self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 280, 440)];


scrollView 的一些设置

    // 设置滚动的范围    self.scrollView.contentSize = CGSizeMake(280 * 4, 0);       // 屏幕左上角距离坐标原点的偏移量  scrollView相对于滚动范围的坐标    self.scrollView.contentOffset = CGPointMake(100, 100);    // 可滚动的范围距离上左下右的距离    self.scrollView.contentInset = UIEdgeInsetsMake(100, 50, 0, 0);    // 边界是否回弹 默认YES    self.scrollView.bounces = NO;        // 滑动到顶部(点状态条的时候)    self.scrollView.scrollsToTop = YES;    // 是否允许用户滚动    self.scrollView.scrollEnabled = NO;        // 是否整屏翻动    self.scrollView.pagingEnabled = YES;        // 控制是否显示水平方向的滚动条    // 指示条 实际上是加在scrollView上的两个imageView    self.scrollView.showsHorizontalScrollIndicator = NO;        // 控制是否显示垂直方向的滚动条    self.scrollView.showsVerticalScrollIndicator = NO;

    // scrollView的协议    // 1,签订协议    // 2,指定代理    self.scrollView.delegate = self;        // scrollView放大缩小        // 1,设置scrollView缩放的范围    self.scrollView.maximumZoomScale = 2.0;   // 最大2倍    self.scrollView.minimumZoomScale = 0.5;            [self.view addSubview:self.scrollView];    [_scrollView release];


scrollView的协议方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{    NSLog(@"%@", NSStringFromCGPoint(scrollView.contentOffset));    NSLog(@"偏移量改变");        // 偏移量改变的时候,计算当前的页数    int pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width;        // 通过偏移量改变pageControl的值    self.pageControl.currentPage = pageNumber;}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{    NSLog(@"将要开始拖拽");}- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{    NSLog(@"已经结束拖拽");    }- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{    NSLog(@"将要开始减速");}- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{    NSLog(@"已经减速停止");}


UIPageController 页码

    self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 20, 280, 50)];    self.pageControl.backgroundColor = [UIColor blackColor];    // 页数    self.pageControl.numberOfPages = 4;    // 设置小圆点的颜色    self.pageControl.currentPageIndicatorTintColor = [UIColor greenColor];    // 未被选中点的颜色    self.pageControl.pageIndicatorTintColor = [UIColor redColor];    // 绑定一个方法    [self.pageControl addTarget:self action:@selector(pageControlAction:) forControlEvents:UIControlEventValueChanged];    //    self.pageControl.currentPage = 4;        [self.view addSubview:self.pageControl];    [_pageControl release];


协议方法
- (void)pageControlAction:(UIPageControl *)pageControl{    NSLog(@"当前页:%d",          pageControl.currentPage);        // 计算scrollView的偏移量    CGFloat xOffset = pageControl.currentPage * 280;    CGPoint offset = CGPointMake(xOffset, 0);//    [self.scrollView setContentOffset:offset animated:YES];                       self.scrollView.contentOffset = offset;    }- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{    // 返回一个view 跟着scrollView缩放    // 1,会把contentSize 设置为view的大小    // 2,同时只能有一个view跟着scrollView缩放    return [scrollView.subviews firstObject];}








0 0
原创粉丝点击