gpt4 book ai didi

iphone - 一个强大的、功能齐全的 UIWebView Controller 实现?

转载 作者:行者123 更新时间:2023-12-03 20:09:00 26 4
gpt4 key购买 nike

我想将尽可能完整的嵌入式浏览器功能放入我的 iPhone 应用程序中。当用户从用户的个人资料 View 中点击 URL 时,它就会被推送到 UINavigationController 上。

应该:

  • 使用标准图标拥有全套预期的浏览器控件和加载状态指示器:后退、前进、加载旋转器、停止按钮、在 Safari 中打开按钮等。

  • 通过警报弹出窗口正确处理网络和其他加载失败(取消/重试等)

  • 尽可能智能地处理 mailto://和可能的其他非 http 链接

  • 理想情况下,有一个可编辑的地址栏

  • 响应所有界面方向

  • 通常与应用内的浏览器一样好,而无需将用户引导至 Safari 应用。

UIWebView 本身需要大量帮助才能完成所有这些修饰,而我通过 Google 找到的所有在线教程都很粗略。另外,还有各种各样的陷阱(比如我通过艰难的方式发现的 mailto://链接问题等)

我希望不必在这里重新发明轮子来获得尽可能完整的浏览器。是否有我未能找到的开源实现?

谢谢!

最佳答案

“是否有我未能找到的开源实现?”从来没听说过。要处理 mailto://tel://您需要做的就是 UIWebView 委托(delegate),有一个方法

- (BOOL)webView:(UIWebView *)webView 
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *clickedURL = [request URL];
NSString *clickedURLString =[NSString stringWithFormat:@"%@",clickedURL];
NSString* checkURLValid = [clickedURL host];
NSString* schemeOfURLClicked = [clickedURL scheme];
}

你可以得到点击的URL的方案..如果它的mailto://然后做一些事情,tel://[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1-800-275-第2273章

但是 safari 与 UIWebView 仍然有很多不同。 UIWebView 无法直接处理弹出窗口。您可能想研究一下 http://niw.at/articles/2009/02/06/how-to-enable-the-popup-window-on-uiwebview/en并且处理身份验证未内置到 UIWebView 中,这是一个 hack http://www.iphonedevsdk.com/forum/iphone-sdk-development/33944-http-basic-authentication-request-uiwebview.html UIWebView 的其余部分您可以在任何地方找到教程。

关于iphone - 一个强大的、功能齐全的 UIWebView Controller 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5505556/

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