如屏幕截图所示,如何实现应用于整个 View 的圆角(请注意,导航栏和键盘角均是圆角的)?

我尝试为cornerRadius = 10masksToBounds = YES设置window.layerwindow.rootViewController.view.layer,但是只有底 View 的角变圆了,导航栏仍然保持正方形。

更新。
cornerRadius设置为window.layer实际上也会在顶部添加圆角,但是除非cornerRadius大于20,否则这些角在状态栏下不可见。

最佳答案

好的,我在Twitter上问过Twittelator Neue的开发人员Andrew Stone,这是他的秘诀,经Andrew许可出版:

因此,这就是我在自己的项目中的操作方式:

UIImage *overlayImg = [UIImage imageNamed:@"overlay.png"];
CALayer *overlay = [CALayer layer];
overlay.frame = CGRectMake(0, 0, overlayImg.size.width, overlayImg.size.height);
overlay.contents = (id)overlayImg.CGImage;
overlay.zPosition = 1;
[self.window.layer addSublayer:overlay];
overlay.png是带有黑角的透明全屏图像。

关于ios - 在整个应用程序中应用圆角,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8735969/

10-14 21:40