登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

一个简洁的小画板

[复制链接]
来自: Jarvi 分类: iOS精品源码 上传时间: 2017-5-5 14:18:24
Tag:

项目介绍:

效果图

2017-05-05 09.57.45.gif

项目地址:https://github.com/lll1024/JVDrawingBoard

说明

这是一个简洁的小画板 可以画双箭头、单箭头、涂鸦等 还可以编辑和撤销。总共包含两个类:

  • JVDrawingLayer: 继承自CAShapeLayer,根据传入的枚举值type基于贝塞尔曲线而绘制不同的形状。

  • JVDrawingView: 负责显示以及手势逻辑

下面是对JVDrawingLayer里边方法的说明:

+ (JVDrawingLayer *)createLayerWithStartPoint:(CGPoint)startPoint type:(JVDrawingType)type;

当手在屏幕上开始移动的时候便会调用这个方法,会根据起始点和传入的枚举值type创建不同的形状的path,目前只有五种形状,分别是单箭头、双箭头、双杠、直线和涂鸦。

- (NSInteger)caculateLocationWithPoint:(CGPoint)point;

当点击屏幕时用这个方法来判断点击位置是否在绘制线条上,如果在则返回具体的位置:JVDrawingTouch枚举值头部、中部和尾部(涂鸦除外)。

- (void)movePathWithStartPoint:(CGPoint)startPoint;
- (void)movePathWithEndPoint:(CGPoint)EndPoint;
- (void)movePathWithPreviousPoint:(CGPoint)previousPoint currentPoint:(CGPoint)currentPoint;

- (void)movePathWithStartPoint:(CGPoint)startPoint isSelected:(BOOL)isSelected;
- (void)movePathWithEndPoint:(CGPoint)EndPoint isSelected:(BOOL)isSelected;
- (void)movePathWithPreviousPoint:(CGPoint)previousPoint
                     currentPoint:(CGPoint)currentPoint
                       isSelected:(BOOL)isSelected;

对于非涂鸦线条来说,编辑可以是平移也可以拖拽头部和尾部,以上6个方法分别对应选中和非选中状态下的三种编辑方法。

- (void)moveGrafiitiPathPreviousPoint:(CGPoint)previousPoint currentPoint:(CGPoint)currentPoint;

这是对涂鸦的平移方法,涂鸦只能平移。

- (void)addToTrack;
- (BOOL)revokeUntilHidden;

这是添加轨迹和撤销的方法,当没有操作可供撤销时撤销操作就成了删除方法了。

上面只是简单介绍了这些方法是干什么的,但知道怎么用是不够的,你的需求可能跟我绘制的形状有出入,这样就只能对具体绘制的方法做一些修改或者添加了。我接下来也会对这些shape做一些添加和修改,比如在双箭头和双杠中间添加文字,旋转的时候也能跟着转。

以上如有帮助欢迎star

相关源码推荐:

    我来说两句
    *滑动验证:
    所有评论(46)
    phoiu 2017-5-5 16:30:56
    感谢分享,楼主V5~
    回复
    BlueManlove 2017-5-5 16:31:18
    感谢分享,楼主V5~
    回复
    kengsir 2017-5-5 16:31:29
    小弟学习了~支持,支持
    回复
    littleRed 2017-5-5 16:32:26
    虽不明,但觉厉...
    回复
    hellokenken 2017-5-5 16:32:46
    code4app好的代码demo真的很多,谢谢啦~
    回复
    AlonMessi 2017-5-5 16:32:47
    code4app确实是个好地方,必须支持~
    回复
    code4app热心网友 2017-5-5 16:48:29
    感谢分享,Code4App有你更精彩:)
    回复
    code4app热心网友 2017-5-5 17:03:30
    楼主用心了,内容非常精彩。
    回复
    code4app热心网友 2017-5-6 09:37:29
    虽不明,但觉厉!
    回复
    12345下一页
    提取码:  下载次数:62 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
    906 0 62
    相关代码
      联系我们
      首页/微信公众账号投稿

      帖子代码编辑/版权问题

      QQ:435399051,742864542

      如何获得代码达人称号?

      代码贡献英雄榜
      用户名 下载数
      代码分类
      通过邮件订阅最新 Code4App 信息
      上一条 /4 下一条
      联系我们
      关闭
      合作电话:
      13802416937
      Email:
      435399051@qq.com
      商务市场合作/投稿
      问题反馈及帮助
      联系我们

      广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

      快速回复 返回顶部 返回列表