在 iPhone 上使用 Quartz2D 设计替代输入

发布于 2024-07-18 07:16:05 字数 307 浏览 3 评论 0原文

我正在尝试创建一个简单的 iPhone 输入设备,形状像一个圆盘,只有一半可以在屏幕上看到。 这个想法是这个磁盘将旋转,当磁盘停止旋转时,选择将是中间的菜单项。 知道实现这样的事情的最佳方法是什么吗? 我现在正在阅读 Quartz2D 和 CoreAnimation,但不确定如何继续。

我只需要一个应用程序,所以在 Photoshop 中预渲染整个 shebang,然后使用 CoreAnimation 旋转它,并有一些机制来跟踪磁盘的哪一部分位于“中间”(例如哪个菜单项)会更有意义吗?被选中)? 或者有更通用、更简单的方法吗? (我肯定错过了什么...)

I'm trying to create a simple iPhone input device shaped like a disk, ony half of which is viewable on screen. The idea is this disk would be spun, and the selection would be the menu item in the middle when the disk stops spinning. Any idea what the best way of implementing such a thing would be? I'm reading up on Quartz2D and CoreAnimation right now, but am unsure as to how to proceed.

I only need this for one app, so would it make more sense to prerender the whole shebang in photoshop and then rotate it with CoreAnimation, and have some mechanism to track which portion of the disk is in the 'middle' (e.g. which menu item is selected)? Or is there a more general, easier way? (I must be missing something...)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾城花音 2024-07-25 07:16:05

你的想法基本上是正确的。 CoreAnimation 可以轻松地使用 AffineTransforms 来“旋转”图层。

您也可以使用通用 UIView 来完成此操作。 他们还支持转换。 这可能并不重要,但对于 GUI 元素来说,UIVIew 对象工作得很好。

You've basically got the right idea. CoreAnimation makes it easy to "spin" layers with AffineTransforms.

You could do it with generic UIViews as well. They also support transforms. It probably doesn't matter, but for a GUI element, the UIVIew objects work well.

枯寂 2024-07-25 07:16:05

如果你想要“快速”旋转(运动模糊等),预渲染该东西可能会更容易

If you want a "fast" spin (motion blur, etc), it will probably be easier to prerender the thing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文