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

一、UIPageControl

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



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

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

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

具體說一下通過pageControl切換ScrollVIew

- (void)viewDidLoad {  
    [super viewDidLoad];  
    //創(chuàng)建scrollView  
    UIScrollView *myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];  
    //設(shè)置滾動區(qū)域  
    myScrollView.contentSize = CGSizeMake(WIDTH*3,HEIGHT);  
    //設(shè)置tag  
    myScrollView.tag = 1000;  
      
    //給myScrollView添加三頁內(nèi)容  
    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];  
    }  
      
    //創(chuàng)建UIpageController  
    UIPageControl *myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 630, WIDTH, 40)];  
      
    //設(shè)置頁數(shù)  
    myPageControl.numberOfPages = 3;  
      
    //設(shè)置背景色  
    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];  
      
}  
  
//實現(xiàn)pageControl方法  
-(void)changePage:(UIPageControl*)sender  
{  
    //根據(jù)tag得到scrollView  
    UIScrollView *myScrollView = (UIScrollView*)[self.view viewWithTag:1000];  
    //根據(jù)page的頁數(shù)變換scrollView的偏移量  
    myScrollView.contentOffset = CGPointMake(WIDTH*sender.currentPage,0);  
      
}  

實現(xiàn)效果如下


二、UIStepper

一個加號一個減號的控件,可以當(dāng)做音量加減按鈕

//uiSteppear + -  
    //初始化  
    UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(10, 20, 100, 100)];  
      
    //設(shè)置數(shù)值范圍  
    stepper.maximumValue = 100;  
    stepper.minimumValue = 0;  
      
    //設(shè)置每點一次的增減量  
    stepper.stepValue = 20;  
      
    //設(shè)置是否可以循環(huán)  
    stepper.wraps = YES;  
      
    //設(shè)置一直按住是否連續(xù)增加  
    stepper.autorepeat = YES;  
      
    //設(shè)置默認值  
    stepper.value = 0;  
      
    //添加方法  
    [stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];  
      
    //添加到父視圖  
    [self.view addSubview:stepper];  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容