【问题标题】:How to get a UIView to "Wrap Content" in iOS?如何让 UIView 在 iOS 中“包装内容”?
【发布时间】:2020-06-30 09:57:56
【问题描述】:

首先,值得注意的是我使用的是 Xamarin。我熟悉 Swift,所以我很高兴使用 swift 代码给出任何答案。更重要的是,我所有的视图都是使用约束以编程方式构建的,没有故事板或 Xib,因为我发现在 Xamarin 中使用它们有点痛苦。

我正在寻找与 android 中的“wrap_content”非常相似的东西。基本上,我有一个包含 2 个子视图的视图。这些视图是并排的,并一起占据了屏幕的整个宽度。第一个视图是固定高度,第二个视图具有可变高度,可以增加或减少以大于和小于第一个视图的固定高度。

最终,我希望最小的视图在父视图中垂直居中。

在 android 中这很容易,我只需包装内容,将重心设置为中心,并以编程方式相应地调整子视图的大小。然后,Android 会相应地调整父视图的大小。然而,在 iOS 中,我发现这是一个真正的挑战。

同样,如果有任何材料可以帮助如何在 iOS 中实现包装内容,这将同样有益,因为我似乎每隔一天就会遇到类似的问题。

【问题讨论】:

标签: ios xamarin uiview constraints


【解决方案1】:

正如 cmets 中所讨论的 - 可以使用 UIStackView 来实现此目的。
需要配置axis = .horizontalalignment = .center才能实现问题中描述的配置。

文档:
苹果:UIStackView(第一张图片实际上显示了问题中描述的布局,只是有超过 2 个子视图)。
Xamarin:Xamarin UIStackView

【讨论】:

  • UIStackView的链接失效了,可以重新链接吗?
猜你喜欢
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
相关资源
最近更新 更多