zoukankan      html  css  js  c++  java
  • UIPageControl页控制器

    一、基本知识

    #import "ViewController.h"
    @interface ViewController ()<UIScrollViewDelegate>{
        UIScrollView *scrollview;
        UIPageControl *page;
    }

    @end
    @implementation ViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
        page = [[UIPageControl alloc]initWithFrame:CGRectMake(20, 150, 200, 30)];
        page.backgroundColor = [UIColor yellowColor];
        page.numberOfPages = 10;//设置页数(多少个点)
        page.currentPage = 0;//设置当前选中页
        NSLog(@"%zi",page.currentPage);//获取当前选中页下标
        page.pageIndicatorTintColor = [UIColor greenColor];//未选中颜色
        page.currentPageIndicatorTintColor = [UIColor redColor];//当前选中的颜色
        [page addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
       
        [self.view addSubview:page];
       
        scrollview = [[UIScrollView alloc]initWithFrame:CGRectMake(20, 150, 300, 400)];
        scrollview.contentSize = CGSizeMake(900, 0);
        scrollview.delegate = self;
        scrollview.pagingEnabled = YES;
        [self.view addSubview:scrollview];
       
        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 300, 400)];
        view.backgroundColor = [UIColor grayColor];
        [self.view addSubview:view];
       
        UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(300, 0, 300, 400)];
        view1.backgroundColor = [UIColor blackColor];
        [self.view addSubview:view1];
       
        UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(600, 0, 300, 400)];
        view2.backgroundColor = [UIColor yellowColor];
        [self.view addSubview:view2];
       
    }

    -(void)change:(id)pc{
        NSLog(@"%zi",[pc currentPage]);//获取页数
        CGPoint p = {[pc currentPage]*300,0};//
        [scrollview setContentOffset:p animated:YES];//允许动画
       
    }

    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
        int index =  scrollview.contentOffset.x/scrollview.frame.size.width;
        page.currentPage = index;
    }
  • 相关阅读:
    打怪(CDQ分治+斜率优化)
    中缀表达式求值
    马拉车(manacher)算法
    后缀数组的求法及应用
    【最小生成树】藏宝图(prim)
    【最小生成树】prim算法
    [最近公共祖先]最近公共祖先(LCA)
    [思维]Supreme Number
    [模拟] Lattice's basics in digital electronics(2018沈阳赛区网络预赛)
    【搜索+思维】Distinctive Character
  • 原文地址:https://www.cnblogs.com/wxzboke/p/4978409.html
Copyright © 2011-2022 走看看