gpt4 book ai didi

ios - 使用 Pencil 在 iPad Pro 上为表格 View 添加注释

转载 作者:技术小花猫 更新时间:2023-10-29 11:08:38 27 4
gpt4 key购买 nike

我正在为 iPad Pro 构建一个应用程序,它有一个显示项目目录的 UITableView。有许多目录,每个目录都有 1000 项。

目标

我想了解如何(最好)使用 Pencil 在 UITableView 中注释内容,以便用户可以用手指滚动。此外,用户绘制的内容会保存在数据模型中。

让我解释一下我的尝试。

单个 UIView

我将单个 UIView 放在自定义 UITableView 之上,该 UITableView 覆盖 touchesBegan/Moved/Ended/Canceled 函数和 touch.type == UITouchType.Stylus 上的过滤器知道什么时候是手指,什么时候是铅笔。这行得通,但这不是一个好的解决方案,因为图像会很大,甚至无法放置一些包含太多项目的目录。

每行一个 UIView

适用于大型目录,但出现了无法跨行绘制的问题,而这肯定是可能的。我还没有找到一种方法来在不同的 View 中保持手势。这是可能的还是有某种解决方法?

修复屏幕上的 UIView

滚动时跟随,很容易绘制任何东西,但不清楚并且很难将绘制的东西固定到表格坐标并保持它。它感觉不对,因为它似乎过于复杂,可能要跟随屏幕大小的 Canvas ,并且绘制的任何内容都会转换为它跨越的行的 UIImageView 并保留在那里......这就是我现在所在的位置,我可以展示如果这种方法有意义,一些代码。

有没有更好的方法来解决这个问题,因为在我看来,这应该是现在使用 Pencil 的一个非常自然的需求,即在表格 View 中进行注释和持久化。

有没有人做过这样的事情或者我忽略了什么?也许是某种稀疏的 UIImageView,这样我就可以在一张大 table 上放一个?

我正在寻找一个好的解决方案和示例代码,具体取决于解决方案的复杂程度。

谢谢!

更新

所以澄清一下,表中的项目以固定方式排序,因此可以使用它来将绘制/注释的内容保留为部分内容。

一般来说,绘图/注释可以保存为从 1 到 N 个图像的任何内容。在许多情况下,一张图片太大,因为项目有数千个,N 张图片意味着有一个手势被打断的边界,这对于可用性来说并不理想,因为绘图不是连续的(除非这可以解决哪个会很棒)。

数据模型可以是 catalog [ -> pages ] -> items 但我不希望有一个页面概念,因为它(较长的原因较短)使每页的项目更小,而重点是最大化项目注释更容易。

最佳答案

我想我会按照以下方式去做。

[draw layer]
[annotation layer]
[table view]

三层,表格 View 在底部。顶层是固定的,用于绘图。一旦绘制了注释,它将被移动到同样固定的注释层。

当绘图移动到注释层时,它应该转换到 TableView 层坐标系( TableView 中的内容偏移+绘制层中的偏移)

一旦表格 View 滚动,注释层坐标系统就会使用 CGAffineTransform 进行转换,这将移动所有子图层,以便注释将与表格 View 一起“滚动”。澄清一下,注释图层坐标系应始终与表格 View 的内容偏移同步。

关于ios - 使用 Pencil 在 iPad Pro 上为表格 View 添加注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36868415/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com