我有一个自定义ListView使用自定义viewCells与单选按钮.单击每个单选按钮时,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(); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。