2016-07-25 16 views
0

uilabelの境界線を追加しようとしましたが、上端、右端、下端の境界線が必要です。このようUILabelの下側と右側の境界

     | 
     I am a label | 
         | 
     ---------------- 

は、私はこれらのコードを使用しようとしましたが、それはUILabelのサブクラスを作成し、次のコードを追加します

myLabel.layer.borderWidth = 1; 
myLabel.layer.borderColor = UIColorCode.init(hexString: "#666666") 
+0

ITSはない "デフォルトで"、コードが何のthats、それが変わることはありません。完全な要素の周りに境界線を追加します。あなたが望むものを達成することは、オンラインでかなりよく文書化されています。そして、stackoverflowに関する多くの質問があります。あなたは質問をする前に研究やグーグルをしましたか? –

答えて

0

デフォルトですべての4つの側面を追加します。これは、必要に応じて境界線を描きます。

override func drawRect(rect: CGRect) { 

     let outerBorder = UIColor.blackColor() 
     let lineWidth : CGFloat = 2.0 
     let insetRect = rect.insetBy(dx: lineWidth/2, dy: lineWidth/2) 
     let startingTopPoint = CGPointMake(insetRect.origin.x,insetRect.origin.y) 
     let endingTopPoint = CGPoint(x: insetRect.maxX, y: insetRect.minY) 

     let bottomLeft = CGPoint(x: insetRect.minX, y: insetRect.maxY) 
     let bottomRight  = CGPoint(x: insetRect.maxX, y: insetRect.maxY) 


     let path = UIBezierPath() 
     path.moveToPoint(startingTopPoint) 
     path.addLineToPoint(endingTopPoint) 
     path.lineWidth = 2.0 
     path.addLineToPoint(bottomRight) 
     path.addLineToPoint(bottomLeft) 


     outerBorder.setStroke() 
     path.stroke() 
} 
0
let borderWidth: CGFloat = 1.0 

let borderLayer = CAShapeLayer() 
borderLayer.lineWidth = borderWidth 
borderLayer.fillColor = UIColor.clearColor().CGColor 
borderLayer.strokeColor = UIColor.blueColor().CGColor 

let borderLine = UIBezierPath() 
borderLine.moveToPoint(CGPoint(x: 0, y: myLabel.bounds.height - borderWidth/2)) 
borderLine.addLineToPoint(CGPoint(x: myLabel.bounds.width - borderWidth/2, y: myLabel.bounds.height - borderWidth/2)) 
borderLine.addLineToPoint(CGPoint(x: myLabel.bounds.width - borderWidth/2, y: 0)) 

borderLayer.path = borderLine.CGPath 

myLabel.layer.addSublayer(borderLayer) 
関連する問題