Code Monkey home page Code Monkey logo

scrollrulerview's Introduction

scrollRulerView


说明

可滑动,自定义标尺,支持惯性滑动,重绘,以及超多自定义参数设定,随心所欲的使用。欢迎提出批评。

效果图参考,更多自定义请下载demo查看

图片名称

经典标尺 样式

TTScrollRulerView *rulerClassic = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50, 50+100*0, cy_ScreenW-100, 100)];
[self.view addSubview:rulerClassic];
rulerClassic.rulerDelegate = self;
//在执行此方法前,可先设定参数:最小值,最大值,横向,纵向等等  ------若不设定,则按照默认值绘制
[rulerClassic classicRuler];
自定义标尺 样式

TTScrollRulerView *rulerCustom = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50, 50+100*1, cy_ScreenW-100, 100)];
[self.view addSubview:rulerCustom];
rulerCustom.rulerDelegate = self;
//在执行此方法前,可先设定参数:最小值,最大值,横向,纵向等等   ------若不设定,则按照默认值绘制
[rulerCustom customRulerWithLineColor:customColorMake(0, 0, 0) NumColor:[UIColor redColor] scrollEnable:YES];
横向滚动,刻度位于上方

TTScrollRulerView *rulerHUP = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50, 50+100*2, cy_ScreenW-100, 100)];
[self.view addSubview:rulerHUP];
rulerHUP.rulerDelegate = self;
//设置滚动方向,默认横向滚动
rulerHUP.rulerDirection = RulerDirectionHorizontal;
//设置刻度位置,默认在上方
rulerHUP.rulerFace = RulerFace_up_left;
[rulerHUP classicRuler];
横向滚动,刻度位于下方

TTScrollRulerView *rulerHDOWN = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50, 50+100*3, cy_ScreenW-100, 100)];
[self.view addSubview:rulerHDOWN];
rulerHDOWN.rulerDelegate = self;
//设置滚动方向,默认横向滚动
rulerHDOWN.rulerDirection = RulerDirectionHorizontal;
//设置刻度位置,下方
rulerHDOWN.rulerFace = RulerFace_down_right;
[rulerHDOWN classicRuler];
纵向滚动,刻度位于左边

TTScrollRulerView *rulerVUP = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50, 50+100*4, 100, 250)];
[self.view addSubview:rulerVUP];
rulerVUP.rulerDelegate = self;
//设置滚动方向,默认横向滚动
rulerVUP.rulerDirection = RulerDirectionVertical;
//设置刻度位置,下方
rulerVUP.rulerFace = RulerFace_up_left;
[rulerVUP classicRuler];
纵向滚动,刻度位于右边

TTScrollRulerView *rulerVDOWN = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50+100, 50+100*4, 100, 250)];
[self.view addSubview:rulerVDOWN];
rulerVDOWN.rulerDelegate = self;
//设置滚动方向,默认横向滚动
rulerVDOWN.rulerDirection = RulerDirectionVertical;
//设置刻度位置,下方
rulerVDOWN.rulerFace = RulerFace_down_right;
[rulerVDOWN classicRuler];
参数改变后,重新绘制标尺

rulerVDOWN.lockMin = 50;
[rulerVDOWN reDrawerRuler];
让标尺滚动到某一个数值

[rulerVDOWN scrollToValue:50 animation:NO];
完全自定义标尺

/**
 *  自定义标尺
 *  注意事项:
 *  1、标尺视图的frame需要足够标尺显示出来,自己摸索
 *  2、最小值、最大值、单位刻度值,最好一起设定,只设定部分会和默认值产生冲突
 *  3、默认值的意思是标尺创建之后,刻度所在的位置,若不设定,会默认在最小值的位置
 *  4、自定义指针的frame是相对于标尺视图的

 *  如果遇到其它问题,无法解决,请联系QQ:943051580
 **/
TTScrollRulerView *rulerView = [[TTScrollRulerView alloc] initWithFrame:CGRectMake(50+100*2+50, 50+100*4, 150, 250)];
[self.view addSubview:rulerView];
rulerView.rulerDelegate = self;
//纵向滚动
rulerView.rulerDirection = RulerDirectionVertical;
//最小值
rulerView.lockMin = 1000;
//最大值
rulerView.lockMax = 50000;
//一个刻度代表的数值
rulerView.unitValue = 100;
//默认值
rulerView.lockDefault = 2000;
//不显示刻度数值
rulerView.isShowRulerValue = NO;
//背景颜色
rulerView.rulerBackgroundColor = [UIColor whiteColor];
//自定义指针位置
rulerView.pointerFrame = CGRectMake(rulerView.bounds.size.width/2.0-cy_fit(80), cy_fit(65), cy_fit(80), cy_fit(1));
//自定义指针图片
rulerView.pointerImage = nil; //可自定义
rulerView.pointerBackgroundColor = [UIColor blueColor];

[rulerView classicRuler];

导入方法

pod 'TTScrollRuler'

#import <TTScrollRulerView.h> 即可使用

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.