如何在WebView而不是Safari中打开链接?

时间:2010-01-23 18:47:31

标签: iphone uiwebview hyperlink

我有一个文本视图,其中包含指向维基百科等网页的链接。通常,当我点击链接时,它会关闭我的应用程序并打开Safari。

如何控制超链接,以便在UIWebView而不是Safari中加载网页?

在链接上放置一个按钮不是我想要的,因为它是一个可滚动的文本视图。

我是否可以拨打Void,因为我还需要在点击链接时开始显示网页视图。

感谢。任何答案都将不胜感激。

(我12岁时正在学习为iPhone编程。请参阅Spaceulator或访问timh.me.uk获取我的第一个应用程序)

2 个答案:

答案 0 :(得分:2)

您可以将您的应用注册为某个URL方案的URL处理程序 - 例如“nttp”。 添加Info.plist文件中的下一行:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.test.nttp</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>nttp</string>
        </array>
    </dict>
</array>

当您为文本视图编写内容时,请使用“nttp”URL方案而不是“http”(“nttp://www.stackoverflow.com/”而不是“http://www.stackoverflow.com/”)。< / p>

在您的app delegate中实现应用程序:handleOpenURL:方法:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

NSString *aUrl = [url absoluteString];

// Use the URL

return YES; }

例如,你可以用“http”替换“nttp”并用它启动一些网页视图......

希望这个解决方案足够好......

答案 1 :(得分:1)

AFAIK使用UITextView无法做到这一点。

但是你可以在UIWebView中显示文本(在将其转换为HTML之后),这样你就可以从一开始就在UIWebView中。