WKWebView白屏(Objective-C)
WKWebView White Screen (Objective-C)
Webkit 仍有一些问题。在解决了昨天早上的错误之后,我遇到了一系列全新的错误,从 113 次到直接崩溃(对 iOS 开发人员来说真的很新,在 C++ 中接受过正式培训并且非常生疏哈哈)。
我终于得到了一些不会崩溃的代码,而且我觉得我对 Objective-C/iOS 总体开发有了更好的掌握 - 只有一个问题......它没有加载。
WebView.h
#ifndef WebView_h
#define WebView_h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <Webkit/Webkit.h>
@interface ViewController: UIViewController;
@property (nonatomic, strong) IBOutlet WKWebView *webView;
@property (nonatomic, strong) IBOutlet UIView *view;
@end
#endif WebView_h
WebView.m
@implementation ViewController
@synthesize webView;
-(void) viewDidLoad {
[super viewDidLoad];
webView = [[WKWebView alloc] initWithFrame:[[self view] bounds]];
NSURL *url = [NSURL URLWithString:@"http://www.penelopeperu.com/"];
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url];
[webView loadRequest:urlReq];
self.view = webView;
}
@end
我怀疑它与视图/UIView 和加载有关?我只是不确定如何准确指出我做错了什么。
您的 url 未使用 "https" 安全协议,因此您需要在 Info.plist 文件中添加以下密钥以允许在网络视图中加载您的 url。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
此外,您在使用 webview 时又做了一件错误的事情。
这不是在 self.view
中添加 webview
的正确方法。
self.view = webView;
将此行更新为;
[self.view addSubview:webView];
Webkit 仍有一些问题。在解决了昨天早上的错误之后,我遇到了一系列全新的错误,从 113 次到直接崩溃(对 iOS 开发人员来说真的很新,在 C++ 中接受过正式培训并且非常生疏哈哈)。
我终于得到了一些不会崩溃的代码,而且我觉得我对 Objective-C/iOS 总体开发有了更好的掌握 - 只有一个问题......它没有加载。
WebView.h
#ifndef WebView_h
#define WebView_h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <Webkit/Webkit.h>
@interface ViewController: UIViewController;
@property (nonatomic, strong) IBOutlet WKWebView *webView;
@property (nonatomic, strong) IBOutlet UIView *view;
@end
#endif WebView_h
WebView.m
@implementation ViewController
@synthesize webView;
-(void) viewDidLoad {
[super viewDidLoad];
webView = [[WKWebView alloc] initWithFrame:[[self view] bounds]];
NSURL *url = [NSURL URLWithString:@"http://www.penelopeperu.com/"];
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url];
[webView loadRequest:urlReq];
self.view = webView;
}
@end
我怀疑它与视图/UIView 和加载有关?我只是不确定如何准确指出我做错了什么。
您的 url 未使用 "https" 安全协议,因此您需要在 Info.plist 文件中添加以下密钥以允许在网络视图中加载您的 url。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
此外,您在使用 webview 时又做了一件错误的事情。
这不是在 self.view
中添加 webview
的正确方法。
self.view = webView;
将此行更新为;
[self.view addSubview:webView];