zoukankan      html  css  js  c++  java
  • ios UIPageControl 点颜色设置的总结

    ios pageControl控件没有点颜色的设置,一开始自己还不信,就一个颜色属性修改,苹果不会这么坑吧,做了很多东西你就会慢慢发现苹果就是这样抗,很多功能得自己去完善。

    本来在网上找了些资料都是将pageControl的点当做成一个UIImage,本人用的是xcode5.2调试发现,pageControl子控件没有UIImageView,点是一个UIviwe,通过修改view的layer控制形状。知道这点后自己就有了思路了。

    思路:

    1、写一个继承UIPageControl类

    2、重写UIPageControl的 setCurrentPage方法

    3、修改当前点的颜色

    code:

    #import <UIKit/UIKit.h>

    @interface CommonPageControl : UIPageControl
    {
        UIImage *activeImage;
        UIImage *inactiveImage;
    }
    @end
     
     
    #import "CommonPageControl.h"

    @implementation CommonPageControl

    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            // Initialization code
        }
        return self;
    }

    -(void)updateDots{

        for(int i=0;i<[self.subviews count];i++){
            
            if([(UIView *)[self.subviews objectAtIndex:i] isKindOfClass:[UIView class]]){//目前pageControl控件小点是一个view
                UIView *dot=[self.subviews objectAtIndex:i];
                if(i==self.currentPage){
                    dot.backgroundColor=[UIColor whiteColor];

                }
                else{
                    dot.backgroundColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1];


                }
            }

        }

    }

    //重写基类方法
    -(void)setCurrentPage:(NSInteger)currentPage{

        [super setCurrentPage:currentPage];
        [self updateDots];
        
    }
    @end
     
    调用:
        CGRect rect;
        rect.origin.x = myScrollView.frame.origin.x;
        rect.origin.y = self.frame.size.height-20;
        rect.size.width = myScrollView.frame.size.width;
        rect.size.height = 20;
        myPagecontrol = [[CommonPageControl alloc] initWithFrame:rect];
        myPagecontrol.userInteractionEnabled=NO;
  • 相关阅读:
    JS一些小算术、1加到50、乘法口诀表、买鸡等
    全选、全不选和反选
    遇重大灾害,缅怀在灾害中遇难的同胞,网站变灰色
    js屏蔽浏览器(IE和FireFox)的刷新和右键等功能
    PHP遍历文件夹下的文件和获取到input name的值
    Glide加载圆角
    android studio的git笔记
    SrollView与RecyclerView
    getIdentifier笔记
    Socket编程基础学习笔记
  • 原文地址:https://www.cnblogs.com/liangjialun219/p/3922482.html
Copyright © 2011-2022 走看看