2016-10-13 8 views
0

私は現在Swift 2.3を使用しています。私はこのコードをボタンに境界線を追加しました:UIButtonの右と左の罫線を削除するには?

self.history.layer.borderWidth = 1 
self.history.layer.borderColor = UIColor.mainColor().CGColor 

そして、私が得た結果: History button borders

今、私は左と右の境界線を削除し、残された唯一の上部と下部の境界線を持っている必要があります。どうすればそれを管理できますか?

追加:@ Tejaにthnx、私は別の質問を見たCALayer: add a border only at one side しかし、事は私が底とトップが必要です。しかし、-1を加えた後、-1のCALayerだけが追加されました。

+0

[CALayer:片面のみに境界線を追加する]の複製が可能です。(http://stackoverflow.com/questions/7022656/calayer-add-a-border-only-at-one-side) –

+0

'CALayers国境ではなく –

答えて

1

私はこの2つのCALayersを追加することによって、私の問題を解決しました:@Tejaと@Rajanへ

let bottomBorder: CALayer = CALayer() 
let topBorder: CALayer = CALayer() 
bottomBorder.borderColor = UIColor.mainColor().CGColor 
topBorder.borderColor = UIColor.mainColor().CGColor 
bottomBorder.borderWidth = 1 
topBorder.borderWidth = 1 
bottomBorder.frame = CGRectMake(0, CGRectGetHeight(history.frame), CGRectGetWidth(history.frame), 1) 
topBorder.frame = CGRectMake(0, 0, CGRectGetWidth(history.frame), 1) 
history.layer.addSublayer(bottomBorder) 
history.layer.addSublayer(topBorder) 

大感謝を!

3

次のようなものを試すことができます。

let topBorder = CALayer() 
topBorder.borderColor = UIColor.black.cgColor; 
topBorder.borderWidth = 1; 
topBorder.frame = CGRect(x: 0, y: 0, width: label.frame.width, height: 1) 
label.layer.addSublayer(topBorder) 

let bottomBorder = CALayer() 
bottomBorder.borderColor = UIColor.black.cgColor; 
bottomBorder.borderWidth = 1; 
bottomBorder.frame = CGRect(x: 0, y: label.frame.height, width: label.frame.width, height: 1) 
label.layer.addSublayer(bottomBorder) 
+0

ありがとう!まさに私がやったことです –

関連する問題