标签: uiwebviewdelegate

UIWebView:加载时显示图像

在我的故事板中,我有一个UIWebView的视图,它填充整个区域,除了选项卡和导航栏.视图的控制器实现协议UIWebViewDelegate.控制器设置为UIWebView的委托:

#pragma mark - UIWebViewDelegate
- (void) webViewDidStartLoad:(UIWebView *)webView {
    NSLog(@"webViewDidStartLoad");
}

- (void) webViewDidFinishLoad:(UIWebView *)webView {
    NSLog(@"webViewDidFinishLoad");
}
Run Code Online (Sandbox Code Playgroud)

当UIWebView正在加载时,我将显示一个带有图像的黑色背景,表明它正在加载.我怎样才能做到这一点?

EDIT1: 我正在尝试添加默认值ActivityIndicatorView而不是静态图像.但这只是给我一个黑色背景和一个小的白色区域.问题是什么?

UIImageView *loadingImageView = [[UIImageView alloc] initWithFrame:webView.frame];
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
UIImage *spacer = [UIImage imageNamed:@"spacer"];    
UIGraphicsBeginImageContext(spinner.frame.size);
[spacer drawInRect:CGRectMake(0,0,spinner.frame.size.width,spinner.frame.size.height)];
UIImage* resizedSpacer = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
loadingImageView.image = resizedSpacer;
[loadingImageView setBackgroundColor:[UIColor blackColor]];
[loadingImageView setContentMode:UIViewContentModeCenter];
self.loadingImageView = loadingImageView;
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uiwebview uiwebviewdelegate

4
推荐指数
1
解决办法
8835
查看次数

收听UIWebView的所有请求

我可以通过以下方式拦截来自UIWebView的初始加载请求:

(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType.
Run Code Online (Sandbox Code Playgroud)

如何记录我正在加载的页面中的所有请求?

iphone uiwebview uiwebviewdelegate

4
推荐指数
1
解决办法
5680
查看次数

即使有delegate = self,uiwebview也没有加载请求

我创建了一个NSObject类并包含在init中创建一个uiwebview,将委托设置为self并发送加载请求.

由于某种原因,webViewDidFinishLoad或didFailLoadWithError永远不会被触发.我无法理解为什么.

//
//  RXBTest.h
#import <Foundation/Foundation.h>
@interface RXBTest : NSObject <UIWebViewDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
//  RXBTest.m
//  pageTest
#import "RXBTest.h"
@implementation RXBTest
- (id) init
{
     if((self=[super init])){
         UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
         [webView setDelegate:self];

         [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]]];
     }
     return self;
}   
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
     NSLog(@"ERROR LOADING WEBPAGE: %@", error);
}
- (void) webViewDidFinishLoad:(UIWebView*)webView
{
     NSLog(@"finished");
}
@end
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?

谢谢rudi

xcode objective-c uiwebview ios uiwebviewdelegate

4
推荐指数
1
解决办法
5774
查看次数

iPad中的UIWebView后退按钮实现问题

我已经在我的应用程序中实现了一个浏览器UIWebView,默认情况下我在浏览器中加载了谷歌页面.

当我在谷歌网页搜索某些内容时,UIWebViewDelegatewebView:shouldStartLoadWithRequest:navigationType:方法被调用.

问题是,当我点击此搜索页面上的后退按钮时,没有代表被调用,所以我在禁用后退按钮时出现问题.

此问题仅发生在不在iPhone应用程序中的iPad应用程序中.

uiwebview ios uiwebviewdelegate

4
推荐指数
1
解决办法
6325
查看次数

使用goBack时不会触发webViewDidFinishLoad

我想在加载网页后做一些额外的工作,所以我在webViewDidFinished中添加了一些代码,但似乎在这种情况下它不起作用.

情况:我访问了一个带有UIWebview的网页,然后点击一个链接到另一个,之后,我运行

[webview goback];
Run Code Online (Sandbox Code Playgroud)

似乎页面仅从缓存加载

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
Run Code Online (Sandbox Code Playgroud)

叫做,

- (void)webViewDidFinishLoad:(UIWebView *)webView;
Run Code Online (Sandbox Code Playgroud)

不叫.

uiwebview ios uiwebviewdelegate

4
推荐指数
2
解决办法
2144
查看次数

UiWebView对window.print的响应

有没有办法从UIWebView中检测window.print并对其进行响应?我在我的UiWebView中打印,需要有办法从UIWebView对该事件做出反应.

uiwebview uiwebviewdelegate

4
推荐指数
1
解决办法
3371
查看次数

在UIWebView中检测和拦截视频播放

我想拦截UIWebView中的单击,然后使用视频的URL.这怎么可能?我发现了一个有点类似的帖子,它指向了

webView:shouldStartLoadWithRequest:navigationType:
Run Code Online (Sandbox Code Playgroud)

代表.我似乎无法通过此委托获取视频的加载网址.

我试图让代码在iOS8中运行

objective-c video-streaming uiwebview ios uiwebviewdelegate

4
推荐指数
1
解决办法
3498
查看次数

如何在UIWebview中获取当前播放视频的网址

有没有办法获得当前播放视频的链接.我正在加载m.youtube.com.对于一些视频,它甚至没有进入代表.我也尝试使用NStimer.但对于一些视频,它不是点击网址

youtube uiwebview ios uiwebviewdelegate

4
推荐指数
1
解决办法
3270
查看次数

iPhone - UIWebView:检测用户滚动到页面底部

所以,我有一个带有UIWebView的UIView,用于提供本地HTML文件(文档预览).我也有"接受"和"拒绝"UIButtons.我需要这些按钮仅在用户滚动到网页底部后才会出现.有没有办法捕获滚动到UIWebView底部的事件?

我没有看到任何好的答案,有人可以帮忙吗?

提前致谢.

iphone objective-c uiwebview uiwebviewdelegate

3
推荐指数
1
解决办法
3120
查看次数

如何使用uiwebview使用swift登录网站?

我想尝试在ios应用程序中使用UIWebView登录网页.但是,我不知道怎么能这样做.我正在展示网站

let url = NSURL(string: "http://m.falalem.com")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
Run Code Online (Sandbox Code Playgroud)

我想使用我的用户名和密码参数登录此页面.登录页面 - > http://m.falalem.com/Login 登录页面后 - > http://m.falalem.com/User-Info

如何使用uiwebview登录此页面?请帮忙!

uiwebview ios uiwebviewdelegate swift

3
推荐指数
1
解决办法
4844
查看次数