Questions tagged «uiwebview»

用于在iOS应用程序中显示Web内容的类。请注意,自iOS 8起,不推荐使用UIWebView,Apple建议改为使用WKWebView。



3
从UIWebView迁移到WKWebView
在我的应用程序中,我从UIWebView迁移到WKWebView,如何为WKWebView重写这些功能? func webViewDidStartLoad(webView: UIWebView){} func webViewDidFinishLoad(webView: UIWebView){} 和 func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { print("webview asking for permission to start loading") if navigationType == .LinkActivated && !(request.URL?.absoluteString.hasPrefix("http://www.myWebSite.com/exemlpe"))!{ UIApplication.sharedApplication().openURL(request.URL!) print(request.URL?.absoluteString) return false } print(request.URL?.absoluteString) lastUrl = (request.URL?.absoluteString)! return true } func webView(webView: UIWebView, didFailLoadWithError error: NSError?) …

9
iOS JavaScript桥
我正在开发一个将同时使用UIWebView中的HTML5和本机iOS框架的应用程序。我知道我可以实现JavaScript和Objective-C之间的通信。是否有任何库可以简化此通信的实现?我知道有几个库可以用HTML5和javascript创建本机iOS应用程序(例如AppMobi,PhoneGap),但是我不确定是否有一个库可以帮助创建使用JavaScript繁重的本机iOS应用程序。我需要: 从Objective-C执行JS方法 从JS执行Objective-C方法 监听来自Objective-C的本地JS事件(例如DOM ready事件)

12
Interface Builder中的WKWebView
似乎XCode 6 beta中的IB对象模板仍在创建旧式对象(iOS的UIWebView和OSX的WebView)。希望苹果公司能够为现代WebKit更新它们,但是在那之前,在Interface Builder中创建WKWebViews的最佳方法是什么?我应该创建一个基本视图(UIView或NSView)并将其类型分配给WKWebView吗?我在网上找到的大多数示例都以编程方式将其添加到容器视图中。出于某种原因更好吗?

18
带Phonegap的iOS 7状态栏
在iOS 7中,Phonegap应用程序将显示在状态栏下方。这可能导致难以单击位于屏幕顶部的按钮/菜单。 是否有人知道在Phonegap应用程序中解决iOS 7上此状态栏问题的方法? 我试图用CSS抵消整个网页,但似乎无法正常工作。有没有办法喜欢偏移整个UIWebView或只是使状态栏的行为像在iOS6中一样? 谢谢

4
如何删除UIWebView的所有cookie?
在我的应用程序中,我有一个UIWebview加载linkedin身份验证页面以进行登录。用户登录后,Cookie将保存到应用程序中。 我的应用程序有一个与linkedin登录无关的退出按钮。因此,当用户单击此按钮时,他将从应用程序注销。我希望此注销操作也可以从应用程序中清除他的linkedin Cookie,以便用户完全注销。

20
ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交
昨天,我将我的应用程序上传到TestFlight,一段时间后,Apple向我发送了此警告: ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交。有关更多信息,请参见https://developer.apple.com/documentation/uikit/uiwebview。 事实是我没有在应用程序中使用UIWebView,所以我尝试更新Pod,但还是一样。有任何想法吗? 更新资料 这些是我的豆荚: pod 'Firebase/Core' pod 'Firebase/Firestore' pod 'Firebase/MLVision' pod 'Firebase/MLVisionTextModel' pod 'SVProgressHUD' pod 'SPPermission/Camera' pod 'SPPermission/PhotoLibrary' pod 'Mantis' pod 'SwiftKeychainWrapper' pod 'SwiftyOnboard' pod 'Fabric' pod 'Crashlytics' 更新2 好像我找到了问题的框架。 Binary file ./Pods/FirebaseMLCommon/Frameworks/FirebaseMLCommon.framework/FirebaseMLCommon matches Binary file ./Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics matches Binary file ./Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision matches 所以,现在我必须等待谷歌修复它们并更新我的吊舱吗?

18
禁用允许在UIWebView上滚动?
我必须在文章UITableView下显示一个Web 文章。 我发现的唯一选择是将文章显示UIWebView在tableView标头中。 为此,我必须获取webView内容的高度,并且必须禁用webView的滚动。 我发现了两种禁用滚动的解决方案: for (id subview in webView.subviews) if ([[subview class] isSubclassOfClass: [UIScrollView class]]) ((UIScrollView *)subview).scrollEnabled=NO; 或在JavaScript中: <script type="text/javascript"> touchMove = function(event) { event.preventDefault(); } 我听说苹果禁止使用第一种解决方案,但是我没有任何证据。使用此解决方案会拒绝我的申请吗?如果是这样,我可以使用第二种解决方案而不会被拒绝吗?
90 ios  scroll  uiwebview 


5
无限制的Web访问在iTunes Connect中意味着什么
当您将应用程序提交给Apple App Store时,将有一个名为“评分”的部分,您应在其中根据图表对内容进行评分,并确定内容出现的频率。 有一个名为“不受限制的Web访问”的选项,Internet或iTunes Connect开发人员指南上都没有关于此的更多详细信息。您到处都能找到的是: 如果您的应用允许用户使用嵌入式浏览器浏览和查看网页,请选择是。 这是什么意思?这是否意味着您的应用程序可以在嵌入式或Safari浏览器中打开链接?还是这意味着您的应用程序具有浏览器,用户可以在其中输入URL并不受限制地浏览网络?因为对这个问题说“是”将使您的应用程序超过17岁! 如果这意味着打开来自您的应用程序的链接(Safari或嵌入式),那么其他具有嵌入式浏览器功能的应用程序又如何获得4以上的评分(例如Twitter和Facebook)?从屏幕截图中可以看出,无法选择此选项,且未将其评级为17+ 更新:我的应用程序已通过嵌入式WebView(TOWebViewController)批准,答案为“否”(4+)。正如答案中提到的那样,您通过任何方式允许用户浏览Internet,例如动态地址栏,这意味着它应该为“是”(17+),因为无法对WebView进行家长控制。 更新2:自iOS 9发行以来,Apple引入了SFSafariViewController,这是一种在互联网上打开任何URL的方式。此功能还具有一个地址栏,但为只读。因此,如果没有家长的控制,用户将无法上网。它还从Safari继承了内容阻止功能(广告,显式内容等)。我对在iOS 9或更高版本中使用SFSafariViewController表示高度肯定,您仍然可以选择4+,因为具有家长控制权的设备始终无法打开任何URL。(让我知道我是否错了) 更新3:根据以下内容,Twitter现在为17岁以上: 您必须年满17岁才能下载此应用程序。 不经常/轻度亵渎或粗俗幽默 频繁/强烈的成熟/建议主题 不经常/轻微的性爱内容和裸露内容 更新4:可以在您的应用程序内部使用Twitter内容,而无需继承其分级(17+)。我的应用程序显示Tweets,但是由于用户已经过验证并且是受信任的公众人物,所以我可以降到12+: 不经常/轻微的性爱内容和裸露内容 不经常/轻度亵渎或粗俗幽默 不频繁/轻度的成熟/建议主题

13
使用Swift将本地HTML加载到UIWebView中
今天早上,这使我发疯。我想将一些本地html加载到Web视图中: class PrivacyController: UIViewController { @IBOutlet weak var webView:UIWebView! override func viewDidLoad() { let url = NSURL(fileURLWithPath: "privacy.html") let request = NSURLRequest(URL: url!) webView.loadRequest(request) } } 该html文件位于我的项目的根文件夹中,但在组中。Webview对我来说是空白的。有什么想法怎么了?我使用的是xcode 6.1,并在iPhone 6上运行了此示例。
75 ios  swift  uiwebview 

4
是否可以使用UIWebView的sharedHTTPCookieStorage手动设置cookie?
我在iOS应用程序内部具有Webview,这些Webview要求对身份验证cookie进行正确的身份验证。我正在寻找一种在iOS应用程序的Webview中设置cookie的方法,而不必发出出站请求来设置cookie,因为我已经在客户端上拥有身份验证信息。 这篇文章向我们展示了UIWebView cookie的存储位置。 现在,我正在加载一个隐藏的Web视图以发出出站请求,但希望不必通过外部请求来设置简单的Cookie。

1
禁止WKWebView缩放内容以使其呈现与UIWebView相同的放大倍数
问题 使用WKWebView代替UIWebView,我发现WKWebView与我的相比,的内容大大缩小了UIWebView。我想WKWebView停止这样做,只照实际的方式尊重我的CSS值即可UIWebView。 语境 我在本机iOS应用程序中使用Web视图来获取显示信息内容的iPad上的弹出窗口内的内容。能够将其提供给内容和设计人员,并说“只需放入一些HTML内容,引用链接的CSS文件”,真是太好了。 使用时,所有这些都很好用UIWebView。 但是弹出窗口通常非常紧凑。 我正在经历 在我狭窄的弹出窗口中,将内容按比例缩小,就像将我的内容缩小到适合整个网页的位置一样。我可以看到WKWebView主要用于在iOS上构建备用浏览器或构建混合应用程序的人们,其中WKWebView本质上是接管屏幕的。 WKWebView中的放大倍数不是可以设置的。当然,用户可以放大,但这不能达到目的。我不是在寻找放大的视口;我正在寻找与UIWebView一样适合和自动换行的全部内容。 使用WKWebView,在模拟器中,如果将正文文本大小增加到50px而不是14px,我将看到所需的大小。但是,此代码甚至在设备上使用时也无济于事,因此也无法选择增大CSS大小! UIWebView有什么问题? 好吧,什么都没有。在iOS8中,它还没有被弃用,也许b / c仍然有用,正如我所经历的那样。但是我确实注意到,WKWebView很快。而且我已经看到一些猜测,认为有关UIWebView的文字写在墙上。我以为:“为什么不现在在iOS8中采用更现代的API?” 因此,我现在暂时继续使用UIWebView,但如果可以使用它来尊重CSS大小,我想切换到WKWebView。 这是我的原始CSS,UIWebView可以很好地呈现,但是弹出窗口中的哪个WKWebView将以非常小的字体呈现: body { font-family: "HelveticaNeue"; font-size: 15px; line-height: 17px; color: #000000; } h1 { font-family: "HelveticaNeue-Bold"; font-size: 18px; line-height: 20px; color: #000000; } h2 { font-family: "HelveticaNeue-Bold"; font-size: 16px; line-height: 18px; color: #000000; }

7
如何在可变高度UITableView内基于内容确定UIWebView高度?
我正在尝试创建一个UITableView高度可变的行,如此问题的答案中所述 我的问题是每个单元格包含一个UIWebView具有不同(静态加载)内容的内容,我无法弄清楚如何根据该内容计算适当的高度。有没有办法做到这一点?我已经尝试过像这样的事情: (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { WebViewCell *cell = (WebViewCell*)[self tableView:tableView cellForRowAtIndexPath:indexPath]; [cell setNeedsLayout]; [cell layoutIfNeeded]; return cell.bounds.size.height; } 单元格本身是从笔尖加载的,而笔尖只是一个UITableViewCell包含的UIWebView。(如果单元格只是将自身调整为最大的html内容,那也很好,尽管可变高度会更好)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.