How do I create a 1px line in Interface Builder?

后端 未结 10 1767
独厮守ぢ
独厮守ぢ 2020-12-04 10:30

Note, I\'m looking to make a 1px line, not a 1pt line. Meaning it should be 1px regardless of screen scale (so 0.5pt on Retina devices).

I can do this programmatica

10条回答
  •  时光取名叫无心
    2020-12-04 11:19

    Just in case someone else comes here wanting to know how it can be done programmatically, heres how you do it:

    Interface Builder

    Make a height constraint in IB to the desired view and set the constant to 1.

    enter image description here

    Then you will need to CTRL+Drag from the constraint into your custom view or ViewController.

    Whenever the Xib is loaded, be it in awakeFromNib or viewDidLoad, you are going to set the constant of the constraint to the scale of the display:

    Swift

    onePixelViewHeightConstraint.constant = 1/UIScreen.main.scale//enforces it to be a true 1 pixel line
    

    Objective-C

    self.onePixelViewHeightConstraint.constant = 1.f/[UIScreen mainScreen].scale;//enforces it to be a true 1 pixel line
    

    Enjoy

提交回复
热议问题