gpt4 book ai didi

ios - AIR iOS 应用程序中的文本 URL 不可选择

转载 作者:行者123 更新时间:2023-12-01 17:59:23 25 4
gpt4 key购买 nike

我正在使用 AIR 2.0(很快将使用 Flash CS6 更新到 3.3)来创建 iPad 应用程序。我们有文本字段(经典、动态),有时包含一个或多个需要可点击的 htmlText 链接。在该程序的桌面版本中,所有文本都是可选的,并且链接很容易访问。我的问题是,我需要在 iPad 上将链接捣碎 20 次,然后它才会识别出有链接并在 Safari 中导航到它。另一个奇怪的事情是,没有一个文本似乎是可选择的——我无法让 iPad 光标、复制/粘贴菜单等显示出来。

我认为,通过阅读其他线程,URL 的点击区域只是文本本身的笔划......如果这是真的,我该怎么做才能增加点击区域?或者使文本可选择?有人建议在其他地方将影片剪辑放在 URL 后面,但这实际上是不可能的,因为这都是来自 XML 文件的动态文本。

我读过关于 StageText 但我认为这仅用于输入字段,这里不是这种情况。

我在 AS3 方面相当先进,但我更喜欢一个简单的解决方案,而不是重写大量代码。目前,我唯一能想到的就是获取 URL 并制作它,以便一旦您触摸文本字段上的任何位置,它就会导航到链接。但是,如果给定的文本字段中有超过 1 个 URL,这将会崩溃。

有任何想法吗?

最佳答案

我有这个完全相同的问题,它让我困惑了一段时间。
这是我为获得所需行为所做的工作:

1) 不要使用 TextEvent.LINK 的监听器,而是在 TextField 上监听 MouseEvent.CLICK(或 TouchEvent.TAP)。

例如。

var tf:TextField = new TextField();
tf.addEventListener(MouseEvent.CLICK, linkClicked);

2) 在 linkClicked() 处理程序中,您使用 getCharIndexAtPoint() 来确定被单击字符的索引,然后根据该字符的 TextFormat 确定 URL。本文改编自 Colin Holgate 在 Adob​​e 论坛 ( http://forums.adobe.com/thread/231754) 上的帖子
public function linkClicked(e:MouseEvent):void {
var idx:int = e.target.getCharIndexAtPoint(e.localX, e.localY);
trace("Tapped:",idx);

var tf:TextFormat = e.target.getTextFormat(idx);
if(tf.url != "" && tf.url != null) {
var linkURL:String = tf.url;
trace(linkURL);

// Hyperlink processing code here
dispatchEvent(new UIEvent(UIEvent.LINK_TAPPED,tf.url));
}
}

3) 最后一行 (dispatchEvent()) 将自定义事件发送到另一个函数以处理链接,但您可以轻松地在此处内联您的代码。

我已经在运行 iOS6.1、使用 AIR3.5 构建的 iPad 3 上进行了测试。链接的响应速度更快,而且我发现自己不会在屏幕上捣碎试图击中文本的笔划!

关于ios - AIR iOS 应用程序中的文本 URL 不可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12627757/

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