自动布局约束使 UILabel 对点击更敏感

Posted

技术标签:

【中文标题】自动布局约束使 UILabel 对点击更敏感【英文标题】:Autolayout constraints to make UILabel more sensitive to taps 【发布时间】:2014-01-11 01:04:20 【问题描述】:

我在父视图中分组了 2 个可点击标签(随附的屏幕截图显示了其中 3 个视图)。当前,每个标签的大小都设置为适合其内容。因此,只有当点击直接在文本上时才会识别点击手势。我希望能够点击文本上方或下方(但在其父视图内),以便触发点击的标签。我需要在视图之间添加什么类型的约束才能做到这一点?

【问题讨论】:

【参考方案1】:

您可以为标签添加最小宽度和高度,这可能会满足您的需求(宽度 >= 最小值)。或者,您可以将这些标签添加为进行手势识别的较大 UIView 的子标签。您应该向 UIView 添加约束,以便它随着 UILabels 的扩展而扩展,并且您仍然需要最小宽度和高度。

【讨论】:

【参考方案2】:

您可以为每个标签添加高度限制。这通常不需要,因为标签具有用于自动生成其高度的固有内容大小 (intrinsicContentSize),通过两个低优先级约束导致标签拒绝大于或小于固有高度。但是如果你简单地添加一个高度约束,你可以让标签更高,覆盖固有的内容大小;这是因为你的约束比固有的高度约束具有更高的优先级。

【讨论】:

以上是关于自动布局约束使 UILabel 对点击更敏感的主要内容,如果未能解决你的问题,请参考以下文章

多行 UILabel 高度,横向自动布局更高

iOS 自动布局 UILabel 换行

UILabel 自动布局适合

ios 6:使用自动布局约束垂直居中 UILabel

使用自动布局约束旋转后对齐 UILabel 文本

创建没有任何约束自动布局的 uitextfield 或任何 uilabel