将图像制成圆形或圆形
这个例子说明了如何制作一个 UIView
或 UIImageView
,用这样的半径舍入:
https://i.stack.imgur.com/QRdJe.jpg
Objective-C
someImageView.layer.cornerRadius = CGRectGetHeight(someImageView.frame) / 2;
someImageView.clipsToBounds = YES;
迅速
someImageView.layer.cornerRadius = someImageView.frame.height/2
// this should alleviate the performance hit that adding transparency may cause - see http://stackoverflow.com/a/6254531/189804
// Be sure to check scrolling performance with Instruments if you take this approach.
someImageView.layer.shouldRasterize = true
someImageView.clipsToBounds = true // All parts of the image that are outside its bounds (the frame) are cut out (makes the rounded corners visible)
建议如果你使用自动布局,你将 someImageView.layer.cornerRadius
代码放在 viewDidLayoutSubviews
中。如果图像改变大小,这将允许图像的 cornerRadius
更新。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
someImageView.layer.cornerRadius = someImageView.frame.size.width/2
someImageView.layer.masksToBounds = true
}