Xamarin.Forms(iOS项目):ListView分隔符显示在所有屏幕

时间:2017-05-08 10:43:14

标签: ios listview xamarin.forms

我有一个带有默认SeparatorVisibility的ListView。如果ItemsSource中有元素并且在最后一个元素下面停止显示,我的Android项目会显示Separator。这是我想要的iOS项目的结果。

然而,在我的iOS项目中,无论我有多少元素,屏幕都充满了分隔符,即使我没有元素或只有一个元素,分隔符仍在那里。

有人可以给我一个理由以及如何解决它吗?感谢。

1 个答案:

答案 0 :(得分:3)

using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer (typeof(ListView), typeof(CustomListViewRenderer))]
namespace yourNamespace
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ListView> e)
        {
            base.OnElementChanged(e);
            if (e.NewElement != null)
            {
                var listView = Control as UITableView;
                listView.SeparatorInset = UIEdgeInsets.Zero;
            }
        }
    }
}