使檢視四捨五入
要製作圓形 UIView
,請為檢視的 layer
指定 cornerRadius
。
這也適用於任何繼承自 UIView
的類,例如 UIImageView
。
程式設計
SWIFT 程式碼
someImageView.layoutIfNeeded()
someImageView.clipsToBounds = true
someImageView.layer.cornerRadius = 10
Objective-C 程式碼
[someImageView layoutIfNeeded];
someImageView.clipsToBounds = YES;
someImageView.layer.cornerRadius = 10;
例
//Swift code
topImageView.layoutIfNeeded()
bottomImageView.layoutIfNeeded()
topImageView.clipsToBounds = true
topImageView.layer.cornerRadius = 10
bottomImageView.clipsToBounds = true
bottomImageView.layer.cornerRadius = bottomImageView.frame.width / 2
//Objective-C code
[topImageView layoutIfNeeded]
[bottomImageView layoutIfNeeded];
topImageView.clipsToBounds = YES;
topImageView.layer.cornerRadius = 10;
bottomImageView.clipsToBounds = YES;
bottomImageView.cornerRadius = CGRectGetWidth(bottomImageView.frame) / 2;
結果如下,使用指定的圓角半徑顯示圓角檢視效果:
注意
為此,你需要包含 QuartzCore 框架。
#import <QuartzCore/QuartzCore.h>
故事板配置
通過在 Storyboard 中設定相應的屬性,也可以實現圓形檢視效果。
由於 layer
屬性未在 Storyboard 中公開,因此你必須通過使用者定義的執行時屬性部分修改 cornerRadius
屬性。
快速擴充套件
只要它具有相同的寬度和高度,你就可以使用這個方便的擴充套件來應用圓角檢視。
extension UIView {
@discardableResult
public func setAsCircle() -> Self {
self.clipsToBounds = true
let frameSize = self.frame.size
self.layer.cornerRadius = min(frameSize.width, frameSize.height) / 2.0
return self
}
}
要使用它:
yourView.setAsCircle()