我有一系列if语句来检查我是否登录.
- (void)webViewDidFinishLoad:(UIWebView *)webView {
if ([webView.request.URL isEqual:@"http://www.tapgram.com/login"]) {
NSLog(@"on log in page: %@", webView.request.URL);
} else if ([webView.request.URL isEqual:@"http://www.tapgram.com/loginfailed?alert_message=Failed+login&came_from=%2F"]){
NSLog(@"failed log in: %@", webView.request.URL);
[keychainItem resetKeychainItem];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Incorrect Credentials" message:@"It seems that either your username or password is incorrect. Please try agian." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
} else if (![webView.request.URL isEqual:@"http://www.tapgram.com/login"]) {
NSLog(@"logged in: %@", webView.request.URL);
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[vc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:vc animated:YES completion:nil]; …Run Code Online (Sandbox Code Playgroud) 我想知道如何在用户停止在UIWebview内的页面上滚动时调用方法.
有谁知道如何做到这一点?
我用的UIWebView是玩Yoytube Video.
我的代码就是这样
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0,320, 240)];
[self.webView setBackgroundColor:[UIColor clearColor]];
[self.webView setOpaque:NO];
self.webView.delegate=self;
[self.webView setAllowsInlineMediaPlayback:YES];
[self.webView setMediaPlaybackRequiresUserAction:NO];
[self.viewContent addSubview:self.webView];
NSString* embedHTML = [NSString stringWithFormat:@"\
<html>\
<body style='margin:0px;padding:0px;'>\
<script type='text/javascript' src='http://www.youtube.com/iframe_api'></script>\
<script type='text/javascript'>\
function onYouTubeIframeAPIReady()\
{\
ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})\
}\
function onPlayerReady(a)\
{ \
a.target.playVideo(); \
}\
</script>\
<iframe id='playerId' type='text/html' width='%d' height='%d' src='http://www.youtube.com/embed/%@?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'>\
</body>\
</html>", 320, 240, [dictIW valueForKey:@"embedCode"]];
[self.webView loadHTMLString:embedHTML baseURL:[[NSBundle mainBundle] resourceURL]];
Run Code Online (Sandbox Code Playgroud)
在模拟器中它玩起来非常好.但是当我在iPhone或iPad上播放这个视频时,视频正在显示,但声音没有得到.
请帮忙.
我想在视图中使用自定义触摸事件.有一个Web视图,它是此视图的子视图.我重写了touchBegan和其他功能,但它没有运行.
我想让UIWebView暂时显示google.com,但它没有加载:
我只是得到一个空白的屏幕
.H
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIWebView *webView;
@end
Run Code Online (Sandbox Code Playgroud)
.M
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *targetURL = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[_webView loadRequest:request];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Run Code Online (Sandbox Code Playgroud)
我做的是创建Web视图的以下内容:
我尝试添加以下内容:
[self.view …Run Code Online (Sandbox Code Playgroud) 我的问题与这个问题相同,但有一点不同.当我滚动到顶部刷新我的网站时,我想停止弹跳到底部滚动的末尾.我该怎么做呢?
我有一个控制器,它有一个WKWebView实例.但是,我希望它不会向Yahoo加载任何请求.它曾经与UIWebView一起使用(下面已注释掉).我无法弄清楚如何使用WKWebView来做到这一点.
class WebBrowserViewController: UIViewController {
let webView = WKWebView()
override func loadView() {
super.loadView()
self.view = self.webView
}
override func viewDidLoad() {
webView.navigationDelegate = self
let url = NSURL(string: "https://www.google.com")!
let request = NSURLRequest(URL: url)
webView.loadRequest(request)
}
}
extension WebBrowserViewController: WKNavigationDelegate {
func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
// this prints the right thing, but it doesn't allow me to stop the request
print(webView.URL?.absoluteString)
}
}
// WHAT I USED TO HAVE:
//extension WebBrowserViewController: UIWebViewDelegate {
// func webView(webView: …Run Code Online (Sandbox Code Playgroud) 我想在我的swift 3应用程序中加载GIF.我使用这段代码来做到这一点,但没有显示gif.
let filePath = Bundle.main.path(forResource: “myGif”, ofType: "gif")
let gif = NSData(contentsOfFile: filePath!)
self.webView.load(gif! as Data, mimeType: "image/gif", textEncodingName: String(), baseURL: NSURL() as URL)
self.webView.isUserInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud)
我不知道我的代码有什么问题(我是swift和iOS开发的新手).
有什么帮助吗?
我有以下webview:
@IBOutlet weak var webView_MyContent: UIWebView!
Run Code Online (Sandbox Code Playgroud)
并加载自定义html内容,如下所示:
self.webView_MyContent.loadHTMLString(html, baseURL: nil)
Run Code Online (Sandbox Code Playgroud)
当我的内容加载时,我想以编程方式滚动到页面的最底部.如何在swift中完成?
从iOS 11开始,当UIWebView全屏显示时,状态栏上会出现一个假背景,背景颜色相同UIWebView.
谁知道如何摆脱它?
即使添加IUWebView到故事板并使其全屏显示也会显示状态栏背景
我一直在尝试编辑UIWebView的大小和其他一些属性,但它们都没有用,但它肯定来自UIWebView.还尝试查看所有子视图和它的大小,并没有看到任何奇怪的.
附上屏幕截图,看到灰色的"状态栏",它在滚动时消失,如果UIWebView没有超过屏幕的那一部分则不会出现.我希望它在第二个截图中,只删除假背景,而不是状态栏.