gpt4 book ai didi

ios - 使用 PinLayout 制作 GridView

转载 作者:行者123 更新时间:2023-11-30 11:17:13 25 4
gpt4 key购买 nike

使用https://github.com/layoutBox/PinLayout

我正在尝试制作 GridView 。该 View 将包含任意数量的列和行。

行的大小将适应标签的内容,尊重 super View 的宽度并根据内容调整高度,文本将需要粘在 View 的顶部,这意味着如果其中一个标签需要高度为 100 点,下一个只需为 50 点,它的下方就会有 50 点的空间。基本上,如果标签覆盖整个高度,这将创建顶部食物而不是中心。在布局中,我使其具有 == 0 或更大的底部约束。

到目前为止,我得到的只是一个 View 容器,其中所有行均位于原点 x=0 、 y = 0

行是包含标签的 View ,它们堆叠在容器 View 中。

我将行放在 View (容器/表)中,目前标签仍然使用布局约束设置(至少在我让行正​​确填充之前)。

if let previousView = inView.subviews.last
{
inView.addSubview(rowView)
rowView.pin.below(of: previousView).horizontally().bottom().wrapContent(WrapType.vertically).width(100%)
}
else
{
inView.addSubview(rowView)
rowView.pin.all().wrapContent(WrapType.vertically).width(100%)
}

最佳答案

您应该仔细阅读PinLayout的文档。请查看introduction example .

PinLayout doesn't use auto layout constraints, it is a framework that manually layout views. For that reason, you need to update the layout inside either UIView.layoutSubviews() or UIViewController.viewDidLayoutSubviews() to handle container size's changes, including device rotation. You'll also need to handle UITraitCollection changes for app's that support multitasking. In the example above PinLayout's commands are inside UIView's layoutSubviews() method.

关于ios - 使用 PinLayout 制作 GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51636875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com