UIPageControl 的宽度

来源:互联网 发布:淘宝亲宝贝是什么 编辑:程序博客网 时间:2024/04/30 05:43

如果在UIViweController直接添加 UIPageControl 则需要宽度
中间的小圆点会自动居中,一般设置屏幕宽度

 UIPageControl  *td = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 0, 300, 20)];    td.center = self.view.center;    td.numberOfPages = 4;    td.backgroundColor = [UIColor redColor];   [self.view addSubview:td];

而在独立的UIView中,除了在
-(instancetype)initWithFrame:(CGRect)frame 视图中 可以将宽度设置为0之外
其它地方都要设置屏宽
这就是我们常说的苹果爸爸在背后搞的一些小动作,


////  PhotoGalleryView.m//  UIPageController////  Created by Larry on 26/07/2017.//  Copyright © 2017 Larry. All rights reserved.//#import "PhotoGalleryView.h"@interface PhotoGalleryView()@property (nonatomic, strong) UIPageControl *pageControl;@property (nonatomic,strong) UIView *GalleryWindow;@end@implementation PhotoGalleryView-(instancetype)initWithFrame:(CGRect)frame  {    if (self = [super initWithFrame:frame]) {        self.backgroundColor = [UIColor purpleColor];   //    [self addSubview:self.GalleryWindow];        //------------------- 如果在此处添加_pageControl,则宽度应该设置为0,如果设置为屏宽则是不行的       [self addSubview:self.pageControl];    }    return self;}-(UIView *)GalleryWindow {    if(!_GalleryWindow) {        _GalleryWindow =  [[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 150)];        _GalleryWindow.backgroundColor = [UIColor orangeColor];    }    return _GalleryWindow;}-(UIPageControl *)pageControl {    if (!_pageControl) {        _pageControl = [[UIPageControl alloc] init];        _pageControl.frame = CGRectMake(0, CGRectGetMaxY(self.GalleryWindow.frame) + 20, 0, 20);        _pageControl.currentPage = 0;        _pageControl.numberOfPages = 5;        _pageControl.backgroundColor = [UIColor blueColor];        [self addSubview:_pageControl];    }    return _pageControl;}-(void)layoutSubviews {     //------------------- 如果在此处添加_pageControl,则宽度应该设置为屏幕宽度 ,如果设置为0  则是不行的    // [self addSubview:self.pageControl];}@end

ProjectName : UIPageController

原创粉丝点击