Skip to content

SDAman/TKRubberIndicator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

TKRubberIndicator

在 dribbble 上面看到一个很不错的 page control,然后就上 github 上面搜索了一下,发现有 html 版的,和安卓版的(但是我看不懂 java 啊),虽然有个小伙伴建立了一个 Swift 项目但是里面并没有什么东西,然后我就决定自己仿一个.

下面这个是 dribbble 的效果图

然后这个是实际效果图

ps: 安卓版有超过1000个Star和300多分 fork, 我赵天日不服啊,iOS 的小伙伴们,让我看到你们的双手,给我一个星星吧

使用

还没有研究怎么搞 Cocospod, 所以大家智能下载下来把文件 复制到工程里面使用,我把所有的类放到一个文件里面了

API

样式配置

Key Usage
smallBubbleSize 小球尺寸
mainBubbleSize 大球尺寸
bubbleXOffsetSpace 小球间距
bubbleYOffsetSpace 纵向间距
animationDuration 动画时长
backgroundColor 背景颜色
smallBubbleColor 小球颜色
bigBubbleColor 大球颜色

初始化

纯代码

init(frame: CGRect,count:Int,config:TKRubberIndicatorConfig = TKRubberIndicatorConfig())

XIB

xib 的话,我平时很少用,使用 xib 只能用默认样式初始化,但是可以添加 runtime property 来改变 pageCount,如果想用 xib 又想自定义样式的话,要不就直接修改源代码,直接改变TKRubberIndicatorConfig的默认值 :)

ValueChange事件

这里提供 闭包和 传统的 Target-Action 两种方式

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        
        self.view.backgroundColor = UIColor(red:0.553,  green:0.376,  blue:0.549, alpha:1)
        let config = TKRubberIndicatorConfig()
        let page = TKRubberIndicator(frame: CGRectMake(100, 100, 200, 100), count: 5, config: config)
        page.center = self.view.center
        page.valueChange = {(num) -> Void in
            print("Closure : Page is \(num)")
        }
        page.addTarget(self, action: "targetActionValueChange:", forControlEvents: UIControlEvents.ValueChanged)
        self.view.addSubview(page)
    }
    
    func targetActionValueChange(page:TKRubberIndicator){
        print("Target-Action : Page is \(page.currentIndex)")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

关于我

协议

MIT

About

Rubber Indicator in Swift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%