思路:view有一个属性layer,通过设置cornerRadius来设置圆角的半径,view是正方形的才能保证通过调整圆角半径来形成圆形头像
view.layer.masksToBounds = YES;
然后再给图层添加一个有色的边框,类似qq空间头像那样
view.layer.borderWidth = 5;
view.layer.borderColor = [[UIColor whiteColor] CGColor];
view.layer.contents = (id)[[UIImage imageNamed:@"backgroundImage.png"] CGImage];
IOS7的一个变化是相对于方形图像,更偏爱于使用圆形图像。在内置的应用中可以看到圆形图标或圆形图像,如联系人和电话应用。这篇短文中,我们将探讨CALayer类,以及如何运用它来创建圆形图像或圆角图像。
您可能并没有听说过CALayer类。但是,如果你曾经创建过应用程序,那么你应该以某种方式使用过它。UIKit中的每个视图(例如UIView、UIImageView)都备份在一个CALayer类的实例中(即layer对象)。layer对象用来管理视图的备份存储和处理视图相关的动画。
layer对象提供了多种属性,使用它们来控制视图的可视内容:
- 背景颜色
- 边框和边框宽度
- 阴影颜色,宽度等
- Opacity(不透明度)
- 圆角半径
Corner radius就是我们用来绘制圆角和圆形图像的属性。
与往常一样,了解CALayer是如何工作的最好方法就是使用它。我们将创建一个带有圆形用户头像的简单的profile视图。
快速了解演示项目
首先,下载此项目模板。已经预先创建了profile视图,但编译并运行应用程序时你会发现用户头像是方形的。这个演示项目非常简单,只有一个类ProfileViewController,与storyboard中的视图相关联。
同时,将用户头像图像(UIImageView)与ProfileViewController.h中的profileImageView属性关联起来。