- iOS开发实战:从入门到上架App Store(第2版) (移动开发丛书)
- 张益珲
- 384字
- 2020-11-28 14:56:44
2.7 分页控制器——UIPageControl
分页视图是一种十分流行的界面设计模式,使用的场景也十分多,如新手引导页和广告轮播页等。UIPageControl是用于页码管理的一个UI控件,其表现形式是一行圆点,其中高亮的一个圆点标记当前所在的页码。使用Xcode开发工具创建一个名为UIPageControlTest的工程,在ViewController类的viewDidLoad方法中添加如下代码。
Swift语言版本:
override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.black let page = UIPageControl(frame: CGRect(x: 20, y: 100, width: 280, height: 30)) page.currentPageIndicatorTintColor = UIColor.red page.addTarget(self, action: #selector(changeNum), for: .valueChanged) page.numberOfPages = 8 self.view.addSubview(page) }
Objective-C语言版本:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; UIPageControl * page = [[UIPageControl alloc]initWithFrame:CGRectMake(20, 100, 280, 30)]; page.currentPageIndicatorTintColor = [UIColor redColor]; [page addTarget:self action:@selector(changeNum:) forControlEvents:UIControlEventValueChanged]; page.numberOfPages = 8; [self.view addSubview:page]; }
将当前视图的背景颜色设置为黑色便于进行效果的演示,UIPageControl的currentPageIndicatorTintColor属性用于设置高亮页码点的颜色,numberOfPages属性用于设置页码数量。运行工程,效果如图2-27所示。
图2-27 UIPageControl
在单击UIPageControl控件的左半边时,页码点会向左移动,单击UIPageControl的右半边时,页码点会向右移动。在单击UIPageControl控件的同时也会触发交互方法,交互方法的实现如下,这里打印了当前的页码数(从0开始)。
Swift语言版本:
func changeNum(page:UIPageControl) { print(page.currentPage) }
Objective-C语言版本:
-(void)changeNum:(UIPageControl *)page{ NSLog(@"%lu", page.currentPage); }