【问题标题】:How to Create the Highlight/Note Popup Buttons from the iPhone Kindle如何从 iPhone Kindle 创建突出显示/注释弹出按钮
【发布时间】:2009-10-23 07:04:16
【问题描述】:

我想知道亚马逊是如何在 Kindle 应用程序中制作突出显示/笔记弹出按钮的。在阅读了 UIPasteboard、UIMenuController、UIResponder 和 UIResponderStandardEditActions 之后,我能够打开或关闭标准编辑操作(即复制、剪切、粘贴、选择和全选)。但是我还没有找到添加自定义操作的方法。如果我能得到一个指针,我将不胜感激。

提前致谢!

克里斯


(来源:sampletheweb.com)

由 balexandre 编辑(添加图片而不是链接)

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    看起来亚马逊实现了他们自己的自定义视图,模仿了 UIMenuController 的外观。我相信他们这样做而不是使用 SPI,因为如果您单击并按住突出显示单元格,箭头不会突出显示,而它在真正的 UIMenuController 中会突出显示。

    【讨论】:

    • WhatsApp Inc. 也有这个 itunes.apple.com/WebObjects/MZStore.woa/wa/… - 我不需要为此创建自定义视图,这是他们的应用程序图片:bit.ly/2sWRjQ
    • 他们重新创建控件的更多证据是圆角矩形的半径与您在真实 UIMenuController 标注中看到的不完全匹配。
    【解决方案2】:

    我认为这些控件没有公共接口,您可能必须自己编写代码。 (或者也许找出私有 API,但这是一个滑坡。)不过我不确定,也许有人会证明我错了。

    【讨论】:

      【解决方案3】:

      关于注释/突出显示弹出菜单的箭头部分没有突出显示,这是一个很好的观点,所以他们必须自己实现。

      但是,他们显然也在使用 UIWebView,因为它可以识别点击并按住并且可以突出显示文本,并且您无法从 UIWebView 获取触摸事件,更不用说获取有关所选内容的信息了。那么他们是怎么做到的呢?

      如果我们也能做到这一点,这将非常有用。

      【讨论】:

      • 不是直接的,但是您可以在 Web 视图中使用 JavaScript 代码获取这些事件,并且本机应用程序和 Web 视图中的内容之间存在双向通信....当然,实施起来很痛苦,但远非不可能。
      【解决方案4】:

      使用DTMenuControllerhttp://www.drobnik.com/touch/2010/01/dr-touchs-parts-store/

      费用 100 欧元 ^_^

      【讨论】:

        【解决方案5】:

        可以通过 UIMenuController 的 menuItems 属性添加自定义菜单项。见Apple's UIMenuController docs。

        【讨论】:

          【解决方案6】:

          javascript 部分可以使用 jQuery 进行管理,这是一个相当简单且功能强大的库。我正在使用它来调整 webview 中的大小和重新排列内容,效果很好:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-05-15
            • 1970-01-01
            • 2015-09-27
            • 2019-12-25
            • 1970-01-01
            • 2019-04-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多