ios – 为整个应用程序应用圆角

前端之家收集整理的这篇文章主要介绍了ios – 为整个应用程序应用圆角前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在屏幕截图中看到应用于整个视图的圆角(请注意,导航栏和键盘角都是圆角的)?

我已经尝试为window.layer和window.rootViewController.view.layer设置cornerRadius = 10和masksToBounds = YES,但只有底部视角变圆,导航栏仍保持方形.

更新.
将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,overlayImg.size.width,overlayImg.size.height);
overlay.contents = (id)overlayImg.CGImage;
overlay.zPosition = 1;
[self.window.layer addSublayer:overlay];

overlay.png是一个带黑角的透明全屏图像.

猜你在找的iOS相关文章