Xha*_*Liu 2 cocoa objective-c calayer appkit wkwebview
如何在OS X上制作圆角WKWebView?
以前使用NSWebView,我们可以通过图层来完成:
webView.wantsLayer = YES;
webView.layer.cornerRadius = 5;
webView.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
但在WKWebView上它不再有效.
图层不会对其下方的细节执行隐式屏蔽.要使角落掩盖,您应该在代码中添加以下内容:
webView.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
来自以下文件CALayer:
当此属性的值为时
YES,Core Animation会创建一个与图层边界匹配的隐式剪切蒙版,并包含任何角半径效果.此属性的默认值为
NO.
我使用了以下简单的示例代码,它显示了圆角:
- (void)windowDidLoad {
[super windowDidLoad];
WKWebView *wv = [[WKWebView alloc] initWithFrame:self.containerView.bounds
configuration:[[WKWebViewConfiguration alloc] init]];
wv.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
[self.containerView addSubview:wv];
wv.wantsLayer = YES;
wv.layer.cornerRadius = 50;
wv.layer.masksToBounds = YES;
[wv loadRequest:[[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://stackoverflow.com"]]];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1098 次 |
| 最近记录: |