最近有一些比較流行的應用,介面都是圓角的。比如Memopad,Pinterest之類的,都是。
琢磨了一下,發現這個其實很簡單。我們只需要在UIView上做點功夫就可以了。
建立一個UIView的Category,名為UIView+RoundCorner
,在標頭檔案UIView+RoundCorner.h
中宣告如下:
1 2 3 4 |
#import @interface UIView (RoundCorner) -(void)makeRoundedCorner:(CGFloat)cornerRadius; @end |
在實現檔案UIView+RoundCorner.h
程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 |
#import "UIView+RoundCorner.h" @implementation UIView(RoundCorner) -(void)makeRoundedCorner:(CGFloat)cornerRadius { CALayer *roundedlayer = [self layer]; [roundedlayer setMasksToBounds:YES]; [roundedlayer setCornerRadius:cornerRadius]; } @end |
使用方法
讓某個UI元素變圓角
對所有UIView或者其派生類,直接使用該方法即可,比如下面的程式碼讓一個UIButton變圓角了:
1 |
[btn makeRoundedCorner:12.0f]; |
療效如下(為了讓療效看起來更明顯,我把按鈕弄黑了):
Paste_Image.png
讓整個介面變圓角
只需要在ViewContolloer中呼叫這個方法就好了,比如:
1 |
[self.view makeRoundedCorner:12.0f]; |
如果你的ViewController在UITabBarController
中,你只需要呼叫這個方法就可以讓整個介面所有的介面都變成圓角的。
比如
1 2 3 |
if (self.parentViewController) { [self.parentViewController.view makeRoundedCorner:12.0f]; } |
療效如下: