2

我正在创建一个字典查找应用程序。用户从 UITableView 中选择一个词,应用程序会显示定义。在某些情况下,这个词会与另一个词相似,所以我想显示“另见:”,然后显示一个相似词列表,当触摸这些词时,会提出另一个定义。

在此处搜索 UITextViews 中的链接时,大多数答案都涉及链接到网络,这并不是我真正需要的。我只是想在用户触摸一个单词时获得控制权,以便我可以更改视图。

UIWebView 是做到这一点的唯一方法,还是我错过了 SDK 中明显的东西?另外,我更愿意留在原生 SDK 中,而不是走 three20 路线。

谢谢!

4

2 回答 2

2

我会用另一个UITableView来完成这项工作。您的相似单词列表可能NSArray已经采用格式,因此设置另一个UITableView而不是 aUITextView来显示列表会很容易,并且鉴于您已经有此代码适用于 main UITableView,您已经知道如何制作它们可点击!

于 2009-08-20T13:41:52.543 回答
2

恐怕 UIWebView 将是唯一适合这里的东西。数据检测器是链接 UITextView 内部的唯一方法,它们只会响应适当的数据类型(电话号码、网页、地址)...

链接可以正常方式完成:

<a href='http://someotherword'>someotherword</a>

设置 webviewdelegate 以捕获任何链接请求(并阻止它们在浏览器中打开),以便您可以在自己的处理程序中打开它们:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
{
  if(navigationType == UIWebViewNavigationTypeOther) return YES; // Allow direct loading

  NSString *myWord = [[request URL] host];
  // do something with myWord... say open another word
  return NO; // Don't let the browser actually perform this navigation
}
于 2011-04-20T00:46:29.337 回答