【问题标题】:How to expand to Labels having height in ratio 2:1?如何扩展为高度为 2:1 的标签?
【发布时间】:2016-07-15 00:21:46
【问题描述】:

我是 xcode 故事板的新手。我有一个包含两个相同宽度标签的视图控制器,但label 1 的高度为 80px,label 2 的高度为 40px。

我希望这两个标签的高度自动扩展,具体取决于它们是以水平还是垂直大小类显示,但我希望 label 1label 2 保持它们的高度比为 2:1

如果我不希望两个标签的高度相同,我知道要采取的步骤(控制从一个标签到另一个标签的拖动,单击相等的高度,然后转到尺寸检查器并将其内容拥抱优先级设置为 200),但是当我希望标签的高度比为2:1 并根据它是水平显示还是垂直显示时自动扩展高度时,我不知道要采取的步骤。

我希望扩大两个标签,而不是标签下方的数字

【问题讨论】:

  • 纵横比一个自动布局属性,如果你不知道的话。
  • “我希望这两个标签自动扩展高度,具体取决于它们是显示在水平尺寸类别还是垂直尺寸类别中”不清楚您的要求。他们的身高应该是多少? “自动扩展高度”是什么意思?展开为什么?
  • @matt 我希望标签 1 的高度和标签 2 的高度之间的比率为 2:1。例如,如果标签 1 的高度为 80,则标签 2 的高度应为 40。如果标签 1 的高度扩大到 100,则标签 2 的高度应为 50。
  • 啊,好吧,那我的回答对你没有帮助。您将需要一些代码来计算关系,可能在 viewDidLayoutSubviews
  • "如果标签 1 的高度扩展到 100",但我要问的是,它为什么要这样做?

标签: ios xcode storyboard uilabel


【解决方案1】:

如果您希望标签 1 的高度是标签 2 的两倍,然后 control-从标签 1 拖动到标签 2 并从弹出窗口中选择 等高菜单。然后在Document Outline中找到这个约束,并在右侧的Attributes Inspector中进行编辑。将乘数更改为2

如果将橙色标签固定到屏幕顶部,将标签 1 的底部固定到标签 2 的顶部,并将标签 2 的底部固定到下面的视图,那么这两个视图将填充空间并保持它们的相对垂直尺寸。

【讨论】:

  • 非常感谢!这么简单的事情花了我几个小时哈哈,真是太感谢你了!非常感谢您的帮助!
  • 很高兴能为您提供帮助。
【解决方案2】:

要设置纵横比,请在同一视图上按住 Ctrl 键并从一个点拖动到另一个点。在乘数中输入纵横比。

对于自动调整大小,将标签中的行数设置为 0。标签将在没有约束的方向(或具有最低优先级约束的方向)展开。

例如如果您希望标签垂直扩展,请不要使用底部约束。要水平扩展,请取消右约束。

【讨论】:

    【解决方案3】:

    你可以简单地这样做:-

    取两个标签:-

    点击第一个标签并添加以下常量:-

    现在您的 label1 将如下所示:-

    单击第二个标签并添加以下常量:-

    现在您的两个标签都将如下所示:-

    更新框架:-

    然后运行你的应用程序:-

    横向

    纵向

    注意:如果你想将它们设置在那里,你可以这样做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2020-09-01
      • 2011-05-15
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多