Help us understand the problem. What is going on with this article?

interfacebuilderとAuto layoutで1pxの線を出す

More than 5 years have passed since last update.

CALayerなんかを使ってUIVewに線を追加するやり方なんかはわりとよくあるのだけど、InterfaceBuilder上でいい感じの位置に線を出したいとなるとちょいと工夫が必要だったのでメモ

まずは結果から


求められているのは0.5の線。
いまいち理解が甘いのですがAutolayoutでHeight=1を設定しても2px程度になるようです。

新規に設定する場合

まずはさくっとviewを配置

そしてAutolayoutの設定で Heightに.5と入力

ここまではOK。

途中から設定する場合

しかし上記のHeight 0.5、初回にかけてあげることはできるようですが、

こちらのSize Inspectorからは設定できない模様・・・・

ちょっと新規でやりなおすのもな・・・という時は、下記のやり方もあるようです。

こんな感じでconstraintとoutletを紐付けて

class ViewController: UIViewController {
    // constraint outlet
    @IBOutlet weak var heightConstraint: NSLayoutConstraint!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        heightConstraint.constant = 0.5
    }

}

こんな具合でconstraintを変更してやることでも可能なようです。

terrierscript
https://zenn.dev/terrierscript
https://terrier.dev
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away