2015-03-03 106 views

回答

11

那麼不是簡單的一個屬性,你可以設置將邊框與外部對齊。因爲UIViews的默認繪圖操作在其邊界內繪製,所以它繪製在內部對齊。

想到的會是由邊框寬度的尺寸應用邊框時擴大UIView的最簡單的辦法:在斯威夫特3

CGFloat borderWidth = 2.0f; 

self.frame = CGRectInset(self.frame, -borderWidth, -borderWidth); 
self.layer.borderColor = [UIColor yellowColor].CGColor; 
self.layer.borderWidth = borderWidth; 
+0

謝謝您非常。你救了我的一天。 – 2015-03-03 06:43:22

+0

是不是應該是'CGRectInset(self.frame,borderWidth,borderWidth)'? – 2017-01-19 09:29:58

+0

@lulian請參閱CGRectInset的文檔(「要創建一個嵌入矩形,請指定一個正值。要創建一個更大的包含矩形,請指定一個負值。」) – chrysAllwood 2017-01-23 18:07:23

0

@ aroragourav的回答

let borderWidth: CGFloat = 2 

frame = frame.insetBy(dx: -borderWidth, dy: -borderWidth) 
layer.borderColor = UIColor.yellow.cgColor 
layer.borderWidth = borderWidth