Tag: uiwebview

当用户点击UIWebView时,默认键盘是如何出现的?

我目前正在开发一个类似Mogok的自定义iOS浏览器。 当用户点击UIWebView中的任何文本input时,我需要更改默认的键盘。 我想知道当用户点击UIWebView中的任何input文本时系统如何显示键盘? 我怎样才能得到在UIWebView成为第一响应者的文本字段的引用? 我已经做了2晚黑:-)没有结果:-( 任何帮助将不胜感激。 问候Ranjan

如何删除WKWebview cookies

现在我正在这样做 NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [storage cookies]) { [storage deleteCookie:cookie]; } 但它不适用于iOS 8,64位设备。 任何其他方式WKWebview干净的cookies? 任何帮助将不胜感激。 谢谢。

iOS 8 SDK:模态UIWebView和相机/图像select器

我发现,编译iOS 8(并在iOS 8中运行)时, UIWebView无法显示相机/图像select器,如果UIWebView在模态呈现的视图控制器中。 它可以在视图控制器中直接从窗口rootViewController或从其中推送的视图控制器中“挂起”,而没有问题。 testing应用程序可以在https://dl.dropboxusercontent.com/u/6214425/TestModalWebCamera.zipfind,但我会在下面描述。 我的testing应用程序(用故事板构build,但真正的应用程序不使用它们)有两个视图控制器(非原名称的ViewController和ViewController2 )。 ViewController包含在作为根视图控制器的UINavigationController中。 ViewController包含一个UIWebView (工作正常),一个“显示”(“推”)button和一个UIBarButtonItem ,它模态地呈现ViewController2 。 ViewController2有另一个UIWebView ,当“推”,而不是“呈现”时,工作。 ViewController和ViewController2都加载了: – (void)viewDidLoad { [super viewDidLoad]; [self.webView loadHTMLString:@"<input type=\"file\" accept=\"image/*;capture=camera\">" baseURL:nil]; } 当试图使用模式UIWebView Xcode在控制台中打印以下内容并解散应用程序模式: Warning: Attempt to present <UIImagePickerController: 0x150ab800> on <ViewController2: 0x14623580> whose view is not in the window hierarchy! 我目前的理论是, UIActionSheet到UIAlertController的变化可能产生了这种情况,但是很难certificate。 以防万一,我会打开雷达与苹果,以防万一。 有人发现相同的情况和一些解决方法?

从WKWebView获取所有的cookies

虽然通过使用NSHTTPCookieStorage.sharedHTTPCookieStorage()从UIWebView获取cookie似乎很简单,但似乎WKWebView将cookie存储在别的地方。 我做了一些研究,并从NSHTTPURLResponse对象中获取了一些cookie。 但是,这并不包含WKWebView使用的所有Cookie: func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) { if let httpResponse = navigationResponse.response as? NSHTTPURLResponse { if let headers = httpResponse.allHeaderFields as? [String: String], url = httpResponse.URL { let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(headers, forURL: url) for cookie in cookies { logDebug(cookie.description) logDebug("found cookie " + cookie.name + " " + […]

使用UIWebView从HTML代码调用目标c代码中的方法

我的iOS应用程序中有.html文件。 HTML文件几乎没有使用onClick方法的div块。 当我点击这些块时,我会在Web视图中调用一些JavaScript代码,但是我也需要在源代码中了解这些事件。 例如,当我点击web元素和onClick被调用时,我需要在代码中调用一些方法,例如- (void)didTouchedWebElementWithId 我可以做这个东西吗? 谢谢。

如何在UIWebView中自动播放YouTubevideo

我在这里看到了很多关于这个问题的post,但仍然找不到这个问题的完美答案。 所以我有一个tableview,每个单元格里面有一个播放button。 当用户点击播放button,我添加一个UIWebView到这个单元格,并播放一个YouTubevideo。 static NSString *youTubeVideoHTML = @"<html>\ <body style=\"margin:0;\">\ <iframe class=\"youtube-player\" type=\"text/html\" width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\">\ </iframe>\ </body>\ </html>"; – (void)playVideoWithId:(NSString *)videoId { NSString *html = [NSString stringWithFormat:youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId]; [self loadHTMLString:html baseURL:nil]; } 问题: 这段代码实际上并不像我想要的那样播放video,只是启动YouTube播放器,并使用YouTube红色播放button进行播放。 只有当用户点击红色button,video才会开始播放。 所以用户必须点击两个button,直到video开始 – 不是最好的用户体验… 就像我说过的,我看到很多关于这个问题的post,有些没有工作,有些是有用的,但有一些问题让我感到困惑。 我发现的工作解决scheme之一是在@ilias的这篇文章中 ,他展示了如何使这个工作从一个文件加载HTML(而不是像我这样的string),这个问题是这样的:对于我玩的每个video我需要: 加载htm文件 – >在其中embeddedvideoID – >将文件写入光盘 – >现在只能播放video。 奇怪的是,这个解决scheme只有当你从一个文件加载networking视图请求时,如果我尝试从一个string加载请求的文件内容,这是行不通的。

是否可以使用sharedHTTPCookieStorage为UIWebView手动设置Cookie?

我有一个iOS应用程序内的webviews,需要一个身份validationcookie进行正确的身份validation。 我正在寻找一种方法来设置一个iOS应用程序的web视图内的cookie,而不必做一个出站请求来设置cookie,因为我已经在客户端的身份validation信息。 这篇文章向我们展示了UIWebView cookie的存储位置。 现在我正在加载一个隐藏的Web视图来发出一个出站请求,但是不希望做出设置一个简单的cookie的外部请求。

如何确定基于内容的UIWebView高度,在一个可变的高度UITableView?

我正在试图创build一个可变高度行的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; } 单元格本身是从一个笔尖加载的,它只是一个包含UIWebView的UITableViewCell 。 (如果单元格将自己调整为最大的html内容,虽然可变高度会更好)也是没问题的。

清除UIWebviewcaching

我用UIWebview加载一个网页使用loadRequest:方法,当我离开那个场景我调用[self.webView stopLoading]; 并释放webView。 在第一次启动的活动监视器中,我看到真实内存增加了4MB,并且在多次启动/加载实际内存时没有增加。 它只增加一次。 我检查了webview的保留数。 这是适当的,即0.我认为UIWebView正在caching一些数据。 我如何避免caching或删除caching的数据? 还是有另一个原因呢?

UIWebView:当应用程序进入后台时,HTML5audio会在iOS 6中暂停

美好的一天, 我的应用是一个音乐播放应用。 我用Javascript控制<audio> -Tag。 到目前为止没有问题,播放,暂停,下一个和上一个button正在工作。 当我待机iOS 5中的设备时,音乐继续播放,但自动下一首歌曲不起作用。 当它不在待机状态时,它可以工作。 而在iOS 6中,按下button后,音乐淡出。 锁屏上的播放/暂停button在iOS 5中运行,但在iOS 6中不能运行。