gpt4 book ai didi

ios - iOS 上的 ForceUpdateSize ListView 问题

转载 作者:可可西里 更新时间:2023-11-01 03:44:55 25 4
gpt4 key购买 nike

我有一个自定义 ListView,它使用带有单选按钮的自定义 ViewCell。单击每个单选按钮时,ListView 会动态调整其高度以隐藏/显示评论框。

在 iOS 平台中使用 ForceUpdateSize 时,单击单选按钮时 ListView 性能会迅速降低。该应用程序最终挂起并停止响应。

是否有替代解决方案可以代替 ForceUpdateSize 在运行时动态扩展 ListView 行?

最佳答案

在需要更改 ViewCell 大小的地方定义 ViewCell Size Change 事件

public static event Action ViewCellSizeChangedEvent; 

在您的情况下,它应该由您的单选按钮触发。像这样调用它:

ViewCellSizeChangedEvent?.Invoke();

然后它将使用 ListView 渲染器来更新 iOS TableView。

public class CustomListViewRenderer : ListViewRenderer
{
public CustomListViewRenderer()
{
WhatEverContentView.ViewCellSizeChangedEvent += UpdateTableView;
}

private void UpdateTableView()
{
var tv = Control as UITableView;
if (tv == null) return;
tv.BeginUpdates();
tv.EndUpdates();
}
}

它应该可以解决您的性能问题,同时继续使用您的 Xaml,而不是创建不需要的自定义 ViewCell。

关于ios - iOS 上的 ForceUpdateSize ListView 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48183532/

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