2017-01-19 12 views
3

コードを使用せずにUIViewControllerで線を描きたいので、線の制約をストーリーボード自体に与えることができます。それをする方法があれば教えてください。今私はストーリーボードにUIViewを配置して線を描画し、それに線を描画する次のコードを使用しています。これが最善の方法ですか?それとももっと良い方法がありますか?前もって感謝します。Ios - コードを使用せずにUIViewControllerに線を描画する方法はありますか?

class line: UIView { 

    override func draw(_ rect: CGRect) { 
     let aPath = UIBezierPath() 

     aPath.move(to: CGPoint(x:0, y:1)) 

     aPath.addLine(to: CGPoint(x:500, y:1)) 

     //Keep using the method addLineToPoint until you get to the one where about to close the path 

     aPath.close() 

     //If you want to stroke it with a red color 
     UIColor.blue.set() 
     aPath.stroke() 
     //If you want to fill it as well 
     aPath.fill() 
    } 
} 

次のようスウィフト3.0とXcode 8.2

+2

ストーリーボードでこのビューの高さを1または0.5にするだけです。 –

+1

高さ1のUIViewを使用してください。 – GeneCode

+0

いいアイデア。ありがとう! –

答えて

2

使用@IBDesignableを使用します。提案として1の高さであなたのビューを作成し、@IBDesignableは、ストーリーボード:

import UIKit 

@IBDesignable class line: UIView { 

    override func draw(_ rect: CGRect) { 
     let aPath = UIBezierPath() 
     aPath.move(to: CGPoint(x: 0, y: 1)) 
     aPath.addLine(to: CGPoint(x: 250, y: 1)) 
     aPath.close() 
     UIColor.blue.set() 
     aPath.stroke() 
    } 
} 
+1

大文字のクラス名を使用してください:-) –

+0

正解:元のポスターのクラス名を持っていただけです。 – Magnas

+0

申し訳ありませんが、それを逃した! –

1

は、1点の高さとのUIViewを追加して、あなたのラインが表示されます。 制約を追加します。

関連する問題