iOS 讓視圖UIView 單獨顯示某一側的邊框線 有時候需要讓view顯示某一側的邊框線,這時設置layer的border是達不到效果的。在網上查閱資料發現有一個投機取巧的辦法,原理是給view的layer再添加一個layer,讓這個layer充當邊框線的角色。根據這個方法我寫了一個函數,有需要的 ...
iOS 讓視圖UIView 單獨顯示某一側的邊框線
有時候需要讓view顯示某一側的邊框線,這時設置layer的border是達不到效果的。在網上查閱資料發現有一個投機取巧的辦法,原理是給view的layer再添加一個layer,讓這個layer充當邊框線的角色。根據這個方法我寫了一個函數,有需要的朋友可以拿去試下。
- (void)setBorderWithView:(UIView *)view top:(BOOL)top left:(BOOL)left bottom:(BOOL)bottom right:(BOOL)right borderColor:(UIColor *)color borderWidth:(CGFloat)width { if (top) { CALayer *layer = [CALayer layer]; layer.frame = CGRectMake(0, 0, view.frame.size.width, width); layer.backgroundColor = color.CGColor; [view.layer addSublayer:layer]; } if (left) { CALayer *layer = [CALayer layer]; layer.frame = CGRectMake(0, 0, width, view.frame.size.height); layer.backgroundColor = color.CGColor; [view.layer addSublayer:layer]; } if (bottom) { CALayer *layer = [CALayer layer]; layer.frame = CGRectMake(0, view.frame.size.height - width, view.frame.size.width, width); layer.backgroundColor = color.CGColor; [view.layer addSublayer:layer]; } if (right) { CALayer *layer = [CALayer layer]; layer.frame = CGRectMake(view.frame.size.width - width, 0, width, view.frame.size.height); layer.backgroundColor = color.CGColor; [view.layer addSublayer:layer]; } }