1.4 UI基础-分页

分页

  • 只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示

  • 一共多少页

    self.pageControl.numberOfPages = count;
  • 当前显示的页码
    self.pageControl.currentPage = page;
  • 只有一页时,是否需要隐藏页码指示器
    self.pageControl.hidesForSinglePage = YES;
  • 其他页码指示器的颜色
    @property(nonatomic,retain) UIColor *pageIndicatorTintColor;
  • 当前页码指示器的颜色
@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;

定时器 NSTimer

  • 在指定的时间执行指定的任务
  • 每隔一段时间执行指定的任务
  • 调用下面的方法就会开启一个定时任务
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;

每隔ti秒,调用一次aTarget的aSelector方法,yesOrNo决定了是否重复执行这个任务

  • 通过invalidate方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务
- (void)invalidate;
  • 解决定时器在主线程不工作的问题
NSTimer *timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(next) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

封装控件知识点

1.4 UI基础-分页_第1张图片
0530-1.png
  • initWithFrame

    • 当控件通过代码创建时,就会调用这个方法
    • 当控件通过代码创建时,想做一些初始化操作。应该在这个方法中执行
        - (instancetype)initWithFrame:(CGRect)frame
        {
            if(self = [super initWithFrame:frame]){
    
                // 添加子控件代码
                [self setup];
            }
    
            return self;
        }
    
  • awakeFromNib

    • 当控件从xib\storyboard中创建完毕时,就会调用这个方法
    • 当控件从xib\storyboard中创建完毕后的初始化操作。应该在这个方法中执行
        - (void)awakeFromNib
        {
            // 添加子控件代码
            [self setup];
        }
    
  • initWithCoder

    • 当控件是通过xib\storyboard创建时,会调用这个方法来初始化控件
        - (instancetype)initWithCoder:(NSCoder *)aDecoder
        {
            if(self = [super initWithCoder:aDecoder]){
            // 添加子控件代码
            }
    
            return self;
        }
    
  • layoutSubviews

    • 当控件的尺寸发生改变的时候,会自动调用这个方法
        - (void)layoutSubviews
        {
            [super layoutSubviews];
            // 更改frame代码
        }
    

分页知识点

  • 一句话移除全部控件
    // 移除之前的所有imageView
    // 让subViews数组中的所有对象都执行removeFromSuperiview
    [self.scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

你可能感兴趣的:(1.4 UI基础-分页)