BezierCurveView 4.0.1

BezierCurveView 4.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2018年8月
SPM支持 SPM

SwiftArchitect 维护。




  • Xavier Schott

Swift Bezier Curve View

Build Status CocoaPods Carthage compatible MIT License

贝塞尔曲线非常适合指向界面中的对象,用于说明文稿和帮助屏幕

camerahint

创建和编辑箭头以照亮您的界面,并在 Xcode StoryboardInterface Builder 中进行视觉预览。

技术讨论

Interface Builder 中,放置一个 BezierCurveView 并在其内部放置两个 BezierCurveHandle

  1. BezierCurveView 表示绘制空间。它可以与 UIWindow 一样大,以防止曲线剪切。
  2. BezierCurveHandle 表示由 Cubic Bezier Curve 所需的两个处理程序。它采用 BezierHandleProtocol,该协议提供了控制点信息。

BezierCurveView + 2 BezierCurveHandle 的组合在 Interface Builder 中提供实时预览,具有前所未有的灵活性:[图像链接]。因为 BezierCurveHandle 本身就是一个 UIView,它可以由 AutoLayout 约束控制,并因此能够自动适应大小和方向的变化,无需 0 行代码。由于这些处理程序本身是对 BezierHandleProtocol 的扩展,您可以将任何 UIView 子类定制为控制处理程序。

备注

  1. 确保一个 BezierCurveView 包含恰好两个采用 BezierHandleProtocol 的子视图,以便进行任何绘图
  2. 在大多数情况下,BezierCurveViewBezierCurveHandle 的背景颜色应该是清晰的
  3. BezierCurveView 在其 frame 被更新时将进行刷新,提供动态动画:[图片链接][1] (重播)

[贝塞尔曲线视图属性

IBInspectable 作用
lineWidth 贝塞尔曲线的粗细;默认为1.5
tintColor 曲线的颜色;如果不存在,则默认为黑色

贝塞尔手柄视图属性

IBInspectable 作用
dx 控制点的水平分量;默认是0
dy 控制点的垂直分量;默认是-10.0(控制点位于锚点下方10.0像素处)
shape 以下之一:nonearrowHeadcircledisc,默认是 none
size shape的尺寸:箭头的长度,圆和圆盘的半径(†);默认是15.0

(†) 贝塞尔曲线的端点是调整的,从形状的末端开始

安装

使用 Cocoapods 或直接包含源文件。首选 Cocoapods。

API 兼容性:版本4.x引入了 BezierHandleProtocolBezierHandleViewBezierCurveView,弃用了3.x 的 BezierCurveArrowView

示例

BezierCurveExample 目录下运行 pod install,打开 BezierCurveExample.xcworkspace 并运行。BezierCurveViewStoryboard

获取帮助

Stack Overflow 上搜索 BezierCurveView 的答案,或提出问题供社区解答。您也可以 联系作者