Xamarin.IOS表上的文本重叠

时间:2019-05-21 13:34:47

标签: ios xamarin.ios

正如我在其他问题中所说的那样,我在.Net技术方面是新手。现在,我开始使用Xamarin Crossplatform(目前为Xamarin.IOS)进行练习。但是我对此代码有疑问,它可以正常工作,但是如果表中有6个以上的元素,方法ForceUpdateSize()会使应用程序崩溃?当我删除该方法时,该应用程序可以正常运行,但是文本重叠了。

这是填表的方法:

public sealed class AutoViewCellRenderer : ViewCellRenderer
{
    public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
    {
        ViewCell vc = item as ViewCell;
        if (vc != null)
        {
            var sr = vc.View.Measure(tv.Frame.Width, double.PositiveInfinity, MeasureFlags.IncludeMargins);

            if (vc.Height != sr.Request.Height)
            {
                sr = vc.View.Measure(tv.Frame.Width, double.PositiveInfinity, MeasureFlags.IncludeMargins);
                vc.Height = sr.Request.Height;

                //vc.ForceUpdateSize(); --> Text ovelpping effect if I remove this method, but the app doesn't crash  
            }
        }
        return GetCell(item, reusableCell, tv);
    }

}

有人可以帮助我了解我在做什么错吗?

在此先感谢大家!

1 个答案:

答案 0 :(得分:0)

尝试一下:

//vc.ForceUpdateSize(); --> Text ovelpping effect if I remove this method, but the app doesn't crash
tv.BeginUpdates();
tv.EndUpdates();

我在较旧的帖子中找到了此内容,但遗憾的是我找不到了。 还请看一下:https://github.com/xamarin/Xamarin.Forms/issues/4012 我认为Xamarin社区对此非常了解,并且正在本主题中进行解决。