Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用自动布局,如何在同一个“标签”上制作两个标签;“行”;在宽度上是动态的(根据每个需要的宽度进行调整)?_Ios_Objective C_Uilabel_Autolayout_Nslayoutconstraint - Fatal编程技术网

Ios 使用自动布局,如何在同一个“标签”上制作两个标签;“行”;在宽度上是动态的(根据每个需要的宽度进行调整)?

Ios 使用自动布局,如何在同一个“标签”上制作两个标签;“行”;在宽度上是动态的(根据每个需要的宽度进行调整)?,ios,objective-c,uilabel,autolayout,nslayoutconstraint,Ios,Objective C,Uilabel,Autolayout,Nslayoutconstraint,假设我有两个UILabel,一个是URL,一个是计时器: [http://website.com/link/to/specific/story] [9m 42s] 但“计时器”标签的宽度变化很大。例如,有时是12s,有时是125h 32m 8s。有很多变化。我希望计时器UILabel占据它所需要的宽度,URL标签占据其余的宽度。这意味着如果计时器较长,URL较短,等等 如何在自动布局中执行此操作?最好在Interface Builder中?这是抗压性变得重要的地方。由于URL标签需要先收缩(以

假设我有两个UILabel,一个是URL,一个是计时器:

[http://website.com/link/to/specific/story] [9m 42s]
但“计时器”标签的宽度变化很大。例如,有时是
12s
,有时是
125h 32m 8s
。有很多变化。我希望计时器UILabel占据它所需要的宽度,URL标签占据其余的宽度。这意味着如果计时器较长,URL较短,等等


如何在自动布局中执行此操作?最好在Interface Builder中?

这是抗压性变得重要的地方。由于URL标签需要先收缩(以容纳计时器标签的空间),所以URL标签的压缩阻力应低于计时器标签的压缩阻力(当然是在水平方向)。您可以在IB中轻松设置此属性


您应该设置压缩阻力,URL标签必须具有较低的值

将标签之间的水平间距设置为常量(例如零或默认值)


设置每个标签的宽度并选择“小于”或“大于”关系,这些值设置视图收缩/扩展的限制。

内部内容大小+优先级我是否给标签设置宽度?我如何使一方愿意超过另一方?不,不要给他们宽度,让他们保持其固有的内容大小。如果我删除宽度约束,我会收到不足的约束警告。这些就是我对它的限制,我还应该用它做什么?移除高度。如果不给它一个宽度或高度,则假定其固有的内容大小。如果你给它两个之一,你需要提供另一个以及。如果它假设没有给定宽度时为内在内容宽度,如果没有给定高度时为内在内容高度,那会更好,但目前它不是这样工作的。警告是什么?由于标签大小现在不同,您可能必须更新框架。@DougSmith在您的项目中您没有执行步骤2和3。很抱歉,我按了enter:)@DougSmith在您的项目中您没有执行步骤2和3。我在这里修改了您的项目:创建了正确的水平约束:从superview到第一个标签,从第一个标签到第二个标签,从第二个标签到superview。这修复了“paddind”。然后我固定每个标签的宽度,使其“大于”和“小于”,以便宽度可以更改。我将1s标签的宽度设置为>=100,而对于2nd-50,该项目中存在约束警告。@DougSmith实际上我第一次在Xcode5中使用IB:)这是我在Xcode4中创建的项目,步骤相同,布局不模糊:一定是Xcode5中的新内容……非常感谢!这个答案彻底解决了我的问题。我改变了优先级,但没有改变抗压强度。