gpt4 book ai didi

ios - 无法以编程方式设置网格布局高度

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

我正在尝试在 ListView 上为每个元素实现滑动操作。整个 View 是 AbsoluteLayout,有两个 GridLayout:一个充当“前景”(列表元素),另一个充当“背景”(滑动操作)。我希望它们都具有相同的“前景”高度(这是动态的并且每个列表元素都不同)。

我在 Android 上成功实现了这一点 - 我在layoutChanged事件上调用了一个方法

onLayoutChanged(args: EventData) {
const foregroundNotificationTemplate = (<AbsoluteLayout>(args.object)).getChildAt(1);
const backgroundButtons = (<AbsoluteLayout>args.object).getChildAt(0);
backgroundButtons.height = foregroundNotificationTemplate.getActualSize().height;
}

不幸的是,这不适用于 iOS。我尝试访问 Frame 和 UiView,但没有成功 - 它具有背景内容的高度。

在 Nativescript Playground 上展示问题的演示: https://play.nativescript.org/?template=play-ng&id=4LRwDC

最佳答案

您不一定必须使用 AbsoluteLayout,因为您正在使用 translate 为位置设置动画,这对于任何布局都是可能的。因此,使用 GridLayout 而不是 AbsoluteLayout 应该可以解决您在两个平台上的问题,并且您还可以摆脱用于测量高度的 layoutChanged 事件。

另请注意,您的 ListView 项模板不能是动态的,您不应使用 ngIf 或任何会改变列表项结构的内容,而应使用多个模板。

关于ios - 无法以编程方式设置网格布局高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855419/

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