storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)
純代碼設置Button或者其他View的邊框屬性
例: UIView* view = [[UIView alloc]init];
? ? ?view.layer.borderWidth = 2.0;
? ? view.layer.masksToBounds = YES;
? ? ?view.layer.cornerRadius = 5.0;
? ? ?view.layer.borderColor = [UIColorredColor].CGColor;
?
以下提供自定義控件的時候,使用Xib,或者用sb來進行布局,那么這時候怎么來使用storyboard或者Xib給View設置邊框屬性的方法其主要設置的方式是通過在 XIB操作欄的User Defined Runtime Attributes中通過 KEY PATH去設置當前控件的屬性,具體步驟如下圖所示:
設置圓角最常用的是設置圓角,邊框顏色,因此需要用到的 key Path有一下幾個:
兩種類型均可(代碼設置弧度為:thisViewlayer.masksToBounds = YES)
當右側出現對號時為YES(代碼圓角為:thisView.layer.masksToBounds = YES)
兩種類型均可(代碼設置邊框寬度為:thisViewlayer.borderWidth = 2)
Color(代碼設置邊框顏色:thisView.layer.borderColor = [UIColor?
redColor].CGColor)
其實如果你從上面一直敲下來的話:?
你會發現只有1和2的兩句代碼是有效的;?
3,4兩句代碼看起來并沒有效果
原因:其實是因為在設置borderColor的時候,需要接受的是一個CGColor,而在 key Path中只有Color,其實就是 UIColor,類型是不對的,因此并沒有正確顯示想要展現的顏色.
因此這樣的寫法是有問題的.?
所以要通過添加一個CALayer的類擴展來實現,將key Path中設置的UIColor轉換成為CGColor,為邊框設置顏色,實現如下:
?
?
然后在你的分類.m文件中添加一個屬性
#import "CALayer+XibBorderColor.h"
#import <UIKit/UIKit.h>
@implementation CALayer (XibBorderColor)
?
- (void)setBorderColorWithUIColor:(UIColor *)color
{
?? ?
? ? self.borderColor = color.CGColor;
}
?
@end
這樣以后,只需要將key Path中的layer.borderColor修改成為layer.setBorderColorWithUIColor 就可以了 添加陰影同理:-(void)setShadowColorWithUIColor:(UIColor *)color
{
? ? self.shadowColor = color.CGColor;
}
?
@end
?
轉載于:https://www.cnblogs.com/aixixi/p/7599898.html
總結
以上是生活随笔為你收集整理的storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOIP2012 D2 T2借教室
- 下一篇: Selector-背景选择器