在xCode中包装内容UILabel

时间:2018-03-16 10:02:49

标签: ios xcode storyboard

我正在尝试制作一个在同一行有两个UILabel的单元格。 像这样:

User Name: blablabla

User Name是第一个UILabel而blablabla是第二个UILabel。

我希望第一个UILabel包装内容,第二个将其内容扩展到超级视图的尾随。

我试图寻找StackOverflow问题的答案,但我找不到答案。有人知道我怎样才能做到这一点?

我想要这样的事情:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/first_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="User Name:"/>

    <TextView
        android:id="@+id/second_label"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="bla bla bla"/>

</LinearLayout>

或者像这样

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/first_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="User Name:"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

    <TextView
        android:id="@+id/second_label"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="bla bla bla"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toRightOf="@id/first_label"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>

3 个答案:

答案 0 :(得分:1)

尝试更改内容抗压优先级

查看这些快照:

默认为content compression resistance priority

的标签

enter image description here

我更改了content compression resistance priority标签blablabla blablabla,从750更改为749

结果是:

enter image description here

答案 1 :(得分:0)

您应该尝试以下解决方案。

第一个标签。

  1. 添加顶部,左侧,底部,宽度约束。
  2. 现在将行数设置为0,将Autoshrink设置为最小字体大小,如下所示。您应该设置所需的最小字体大小。
  3. enter image description here

    第二个标签

    1. 添加上,左,下,右。
    2. 现在将行数设置为0,将Autoshrink设置为最小字体大小,如下所示。您应该设置所需的最小字体大小。
    3. 这些更改将使第一个标签的字体autoshirnk达到最小字体大小。并且还将制作第二个标签以扩展内容。

答案 2 :(得分:0)

  • 你可以这样做: yourLabel.lineBreakMode = NSLineBreakMode.byWordWrapping