iOS個人整理12-UIControl與子類:UIPageControl、UIStepper

一、UIPageControl


UIPageControl就是下面的三個小白點,與UIScrollView配合可以切換視圖


常用屬性不多,主要是回調方法要配合UIScrollView的contentOffset屬性進行頁面切換

//創建UIPageControl
    UIPageControl *pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(100, 200, 150, 60)];
    //設置頁數
    pageControl.numberOfPages = 3;
    //設置默認顯示頁
    pageControl.currentPage = 0;
    //設置背景色
    pageControl.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1];
    
    //當前小點的顏色
    pageControl.pageControlCurrentPageIndicatorTintColor = [UIColor redColor];

    //非當前的小點顏色
    pageControl.pageIndicatorTintColor = [UIColor whiteColor];


    //添加方法
    [pageControl addTarget:self action:@selector(changeViewPage:) forControlEvents:UIControlEventValueChanged];
    
    //添加到父視圖
    [self.view addSubview:pageControl];

具體說一下通過pageControl切換ScrollVIew

- (void)viewDidLoad {
    [super viewDidLoad];
    //創建scrollView
    UIScrollView *myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    //設置滾動區域
    myScrollView.contentSize = CGSizeMake(WIDTH*3,HEIGHT);
    //設置tag
    myScrollView.tag = 1000;
    
    //給myScrollView添加三頁內容
    for (int i = 0; i<3; i++) {
        UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(WIDTH*i, 0, WIDTH, HEIGHT)];
        myLabel.text = [NSString stringWithFormat:@"第%d頁",i];
        myLabel.font = [UIFont systemFontOfSize:100];
        myLabel.textAlignment = NSTextAlignmentCenter;
        myLabel.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1];
        [myScrollView addSubview:myLabel];
    }
    
    //創建UIpageController
    UIPageControl *myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 630, WIDTH, 40)];
    
    //設置頁數
    myPageControl.numberOfPages = 3;
    
    //設置背景色
    myPageControl.backgroundColor = [UIColor colorWithRed:109/255.0 green:211/255.0 blue:206/255.0 alpha:1];
    
    //給pageControl添加方法
    [myPageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
    
    //添加到父視圖
    [self.view addSubview:myScrollView];
    [self.view addSubview:myPageControl];
    
}

//實現pageControl方法
-(void)changePage:(UIPageControl*)sender
{
    //根據tag得到scrollView
    UIScrollView *myScrollView = (UIScrollView*)[self.view viewWithTag:1000];
    //根據page的頁數變換scrollView的偏移量
    myScrollView.contentOffset = CGPointMake(WIDTH*sender.currentPage,0);
    
}

實現效果如下

  



二、UIStepper

一個加號一個減號的控件,可以當做音量加減按鈕

//uiSteppear + -
    //初始化
    UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(10, 20, 100, 100)];
    
    //設置數值範圍
    stepper.maximumValue = 100;
    stepper.minimumValue = 0;
    
    //設置每點一次的增減量
    stepper.stepValue = 20;
    
    //設置是否可以循環
    stepper.wraps = YES;
    
    //設置一直按住是否連續增加
    stepper.autorepeat = YES;
    
    //設置默認值
    stepper.value = 0;
    
    //添加方法
    [stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];
    
    //添加到父視圖
    [self.view addSubview:stepper];




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章