Ios 如何使用故事板创建宽度仅为0.5px的线条?

Ios 如何使用故事板创建宽度仅为0.5px的线条?,ios,storyboard,Ios,Storyboard,我是iOS故事板新手,谁能告诉我如何创建0.5像素宽的线条?我读过这篇文章:我知道如何通过编码来实现它,但它是否有一种更简单的方法,比如使用故事板?你可以创建一个UIView,并使用AutoLayout将其高度或宽度(取决于线条是垂直还是水平)约束设置为0.5 如果不使用AutoLayout,它会更简单,您可以直接将视图的高度或宽度设置为0.5,这可以在情节提要本身中完成-只需选择所需的约束并转到“身份检查器”,现在添加一个名为“常量”的新关键路径,并将其类型设置为“数字”值为0.5。它直接与x

我是iOS故事板新手,谁能告诉我如何创建0.5像素宽的线条?我读过这篇文章:我知道如何通过编码来实现它,但它是否有一种更简单的方法,比如使用故事板?

你可以创建一个
UIView
,并使用AutoLayout将其
高度
宽度
(取决于线条是垂直还是水平)约束设置为
0.5


如果不使用AutoLayout,它会更简单,您可以直接将视图的
高度
宽度
设置为
0.5
,这可以在情节提要本身中完成-只需选择所需的约束并转到“身份检查器”,现在添加一个名为“常量”的新关键路径,并将其类型设置为“数字”值为0.5。

它直接与xib/情节提要一起工作

使其工作:在“大小检查器”中输入0.5后,不要按回车键。只需单击故事板上的某个位置即可。那么0.5将保持为值。似乎IB会检查该值,并且只有在您按enter键时才对其进行更正

再次查看约束时,尺寸检查器仍将“0”显示为值。但在文档大纲中,您可以看到“0.5”。在运行时,它还将其渲染为0.5

我的解决方案:

  • 创建一个视图,在视图中设置一个约束:“height=0px”,转到“Identity Inspector”并将该约束的优先级编辑为750

  • 然后选择视图并单击“锁定”按钮,向该视图添加另一个约束:“高度=0.5”,优先级为1000。在“标识检查器”中,您可以看到第二个约束自动变为“高度>=0.5”


  • 适用于Xcode 7.3.1

    只需使用用户定义的运行时属性

    选择和约束并设置为用户定义的运行时属性: 常量0,5


    这是最简单和安全的

    如果您希望在所有不同的设备(如2x和3x屏幕)上使用一个像素宽度或高度分隔器,则需要考虑屏幕比例。可以通过将宽度约束连接到IBOutlet,然后通过编程方式设置约束常量来实现这一点

    为视图控制器中的约束定义IBOutlet变量

    @IBOutlet var bottomDividerHeightConstraint: NSLayoutConstraint!
    
    在IB中的宽度约束上单击鼠标右键,然后将其拖动并连接到新定义的约束上

    然后在viewDidLoad()中放置以下代码

    self.bottomDividerHeightConstraint.constant = 1/UIScreen.main.scale
    

    嘿@user2077625,我的回答有帮助吗?或者你需要进一步解释吗?:)故事板的可能副本不允许您输入0.5,请尝试。输入
    0.5
    ,然后按Tab键,而不是Enter键。谁会认为您不能按return键将Xcode 8中的约束的
    0.5
    传递到
    常量
    。确实很尴尬……2021年仍然是正确的解决方案伟大的答案!谢谢!