2016-04-14 75 views
0

我也以同样的方式创建4圈:用线和声像姿态连接点

var circleText1 = UIBezierPath(arcCenter: CGPoint(x: labelOrigin.frame.origin.x - 10,y: labelOrigin.frame.origin.y + labelOrigin.frame.height/2), radius: 5, startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true) 

let shapeLayerCircle1 = CAShapeLayer() 
shapeLayerCircle1.path = circleText1.CGPath 
shapeLayerCircle1.fillColor = colorArrow.CGColor 
self.container.layer.addSublayer(shapeLayerCircle1) 

凭借其各自的框架,我想使用户能够加入的按钮来进行一个字,字母W.或多或少像我们都玩过的那款游戏enter image description here

我该如何画点之间的界限?我曾想过使用UIPanGestureRecognizer来创建它,但不知道我将在这两个之间划线,然后用下一个点开始新行。

+0

是关于线条绘画还是关于手势识别的问题? – Avt

+0

我认为两者都与我的问题有关,因为它是如何检测用户点击并拖动到另一点的位置,并同时为线条绘制设置动画。对于画线我会检查@ simon-moshenko说[链接](https://github.com/ooper-shlab/GLPaint1.13-Swift/blob/master/Classes/PaintingView.swift),看看怎么可以我把它合并到那里。那是对的吗?只要选择原点指向第一个点,最后一个点指向最终点? – Sergio

回答

1

RMPaint podRMCanvasView.h有一个方法renderLineFromPoint你可以使用。但是您需要创建这个RMCanvasView,如果您有困难,请使用github存储库中的示例。

+0

谢谢你的回复。我已经检查了你的链接所说的那个swift repo [link](https://github.com/ooper-shlab/GLPaint1.13-Swift/blob/master/Classes/PaintingView.swift)添加该方法之后,我需要将原点放在最后一个点的第一个点和最后一个点上,然后添加pangesturerecognizer。这会检测用户何时开始从第一个点拖动到第二个点? – Sergio

+0

@Sergio你可能需要手动检查UITouches是否在你的第一个圆点周围。然后从第一个点到当前的触摸位置绘制一条线,并且每次清除第二个点时都会执行。将它保存在某种背景图片上(TMCanvasView有snapshotImage(我记得))。等等 –