一、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];