Yosemite上的WKWebView无法正确呈现

时间:2014-12-14 21:37:13

标签: objective-c macos osx-yosemite wkwebview

以下是http://google.com上的两个按钮在Yosemite 10.10.1上使用Safari 8.0.2的方式(这是预期的行为):

safari

这里是使用Xcode 6.1.1和Xcode 6.2(6C95a)在WKWebView内呈现的网站的相同部分(预期行为):

wkwebview

使用奇怪的工件进行WKWebView渲染的其他一些示例:

  • Google - 按钮和右上角。
  • Wikipedia - 美元金额附近的复选框。
  • Reddit - 左上角的徽标和上/下箭头。

以下是我在空Cocoa Application

之上添加的代码

ViewController.h

@property (strong, nonatomic) WKWebView* webView;

ViewController.m

-(void)loadView {
    [super loadView];
    self.webView = [[WKWebView alloc] init];
    self.view = self.webView;    
}

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL* url = [NSURL URLWithString:@"http://google.com"];
    NSURLRequest* req = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:req];
}

使用background-image(CSS)时似乎会发生这种情况。例如,通过网络检查员的Reddit徽标显示:background-image: url(sprite-reddit.JqPSSyjOUZE.png);。也许是因为它是一个精灵,这里是sprite-reddit.JqPSSyjOUZE.png的链接。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法 - 在初始化WKWebView时,需要使用frame参数对其进行初始化:

webView = WKWebView(frame: self.view.bounds)

此示例只是将其设置为现有窗口的边界。

相关问题