zoukankan      html  css  js  c++  java
  • [iPad]PencilKit教程4、PKCanvasView:捕获Apple Pencil输入,并在iOS应用中显示渲染结果的视图

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(let_us_code)
    ➤博主域名:https://www.zengqiang.org
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/14088723.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    PencilKit(Swift)示例代码:点击下载

    1 class PKCanvasView//捕捉Apple Pencil输入并在iOS应用程序中显示渲染结果的视图。
    2 struct PKDrawing//表示画布视图捕获的绘图信息的结构。
    3 struct PKStroke//表示在画布上绘制的笔划的路径、边界和其他属性的结构。
    4 struct PKStrokePath//一种结构,它捕获笔划的组成部分,并提供沿笔划路径查找和插值点的方法。
    5 struct PKStrokePoint//表示沿笔划路径的特定点的属性的结构。
    6 struct PKInk//一种表示墨水的结构,它指定墨水的类型、颜色和宽度。

    定义

    class PKCanvasView : UIScrollView

    概览
    一个使用苹果铅笔或用户的手指和你的应用程序显示它绘制的对象捕获的内容。画布视图处理来自Apple Pencil的所有触摸事件和数据,并使用您指定的工具呈现该信息。画布将捕获的输入存储在对象中。PKCanvasViewPKDrawing

    PKCanvasView是滚动视图,因此可以使可绘制区域大于画布视图的框架矩形。为此,请将继承的属性设置为所需的大小。画布视图自动缩放其基础内容以匹配您指定的大小。用户使用两指平移手势在画布上滚动。(如果该属性为,则用户只能用一根手指滚动。)contentSizeallowsFingerDrawingfalse

    画布视图符合该协议,因此您可以将其添加为窗口工具选择器的观察者。工具选择器显示用户可以选择的浮动工具调色板。当用户与调色板中的项目进行交互(例如更改墨水颜色或线条宽度)时,画布会相应地自动更新其绘图环境。PKToolPickerObserver

    响应图纸相关的更改

    var delegate: PKCanvasViewDelegate?

    用于响应绘制的内容或所选工具中的更改的对象。

    protocol PKCanvasViewDelegate

    在画布视图中监视与绘图相关的更改的方法。

    配置绘图环境

    var tool: PKTool

    当前选择的绘图工具。

    var isRulerActive: Bool

    一个布尔值,指示标尺视图在画布上是否可见。

    var allowsFingerDrawing: Bool

    一个布尔值,指示除Apple Pencil外,画布是否还接受用户手指的输入。不推荐使用

    var drawingPolicy: PKCanvasViewDrawingPolicy

    控制在画布上绘制时允许的触摸类型的策略。

    enum PKCanvasViewDrawingPolicy

    用于指定用户在画布上绘制时应用允许的绘制手势类型的常数。
    获取绘图手势识别器

    var drawingGestureRecognizer: UIGestureRecognizer

    画布用于跟踪触摸事件的手势识别器。
    获取捕获的数据

    var drawing: PKDrawing

    画布用于存储绘制内容的数据对象。
    关系
    继承自:

    UIScrollView

    符合:

    CVarArg
    Equatable
    Hashable
    NSTouchBarProvider
    PKToolPickerObserver
    UIAccessibilityIdentification
    UILargeContentViewerItem
    UIPasteConfigurationSupporting
    UIUserActivityRestoring
  • 相关阅读:
    脚本——1-100的和
    脚本——删除文件为0大小的文件
    脚本——ping网址
    脚本——大于5k的文件有
    脚本——九九乘法表
    第十天:小数与随机数
    第九天:单元测试
    第八天:错误异常处理
    第七天(1):包与模块管理
    第七天(2):面向对象编程
  • 原文地址:https://www.cnblogs.com/strengthen/p/14088723.html
Copyright © 2011-2022 走看看