美文网首页iOS的心路里程
iOS控件--UIPageControl--分页控件

iOS控件--UIPageControl--分页控件

作者: 罂粟之城 | 来源:发表于2018-12-29 16:37 被阅读5次

    UIPageControl 页面控制器(配合UIScrollView使用),其父类是UIControl 。可以像button一样添加事件,事件触发使用UIControlEventsValueChanged。通常在 Scrollview 滚动的时候修改 pageControl 的 currentPage 属性。

    /*UIPageControl:初始化*/  
            UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(self.view.frame.size.width, 700, 80, 20)];
    /*UIPageControl常用属性*/  
            numberOfPages:设置页数
                pageControl.numberOfPages = 4;
                pageControl.numberOfPages=[[self.scrollView subviews] count];//结合UIScrollView使用
            currentPage:设置当前页数
                pageControl.currentPage = 0;
            pageIndicatorTintColor:改变不被选中的颜色
                pageControl.pageIndicatorTintColor = [UIColor orangeColor];
            currentPageIndicatorTintColor:改变选中的颜色
                pageControl.currentPageIndicatorTintColor = [UIColor purpleColor];
            添加触发事件
                [pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
                [self.window addSubview:pageControl];
    /*UIPageControl的方法使用*/
    回调方法:
            - (void)pageAction: (UIPageControl *)sender
            {
            //根据当前的页数,使得scrollView也滑动到对应的子视图  通过设置scrollView的contentOffSet来实现(改变contentOffSet实际上就是改变scrollView的bounds)
                int page = (int)sender.currentPage;//得到当前页数
            //根据当前页数来计算偏移量
            //得到scrollView
                UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000];//scrollViews的tag设置,这里设置为1000
            //设置scrollView的偏移量
                [scrollView setContentOffset:CGPointMake(page * CGRectGetWidth(self.view.frame), 0) animated:YES];
    }
    更新控制器当前页码
            - (void)updateCurrentPageDisplay; 
    
    以上是对 UIPageControl 控件的描述和使用,不以偏概全,只授之以渔,有更好的操作也会及时更新。如果您有UIPageControl 控件的更好使用欢迎留言交流!

    相关文章

      网友评论

        本文标题:iOS控件--UIPageControl--分页控件

        本文链接:https://www.haomeiwen.com/subject/uwlplqtx.html