如何实现应用于整个 View 的圆角,如屏幕截图所示(请注意,导航栏和键盘角都是圆角)?
我尝试为 window.layer
和 window.rootViewController.view 设置
,但只有底部 View 的角变圆了,导航栏仍然保持正方形。cornerRadius = 10
和 masksToBounds = YES
.layer
更新。
将 cornerRadius
设置为 window.layer
实际上也会在顶部添加圆角,但这些角在状态栏下不可见,除非 cornerRadius
是大于 20。
最佳答案
好的,我已经在 Twitter 上询问了 Twittelator Neue 的开发者 Andrew Stone,这是他的食谱,在 Andrew 的许可下发布:
We're going to write a book on coding tricks in Neue! We overlay a window w an image containing 4 corners over everything
We also have a custom nav bar with a stretchable image w/ tops rounded
下面是我在自己的项目中的做法:
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/