如何在 ios 上的 Xamarin.Forms CollectionView 中关闭弹跳效果
How to turn off bouncing effect in Xamarin.Forms CollectionView on ios
我正在尝试使用自定义渲染器在我的 Xamarin.Forms 项目中关闭 CollectionView 对 iOS 的弹跳效果。我能够使用这个在 ListView 中实现这一点:
if (e.NewElement != null)
{
var listView = Control as UITableView;
Control.Bounces = false;
}
但 Bounces
属性 在 CollectionView 控件中不可用。还有其他方法吗?
像下面这样创建一个自定义渲染器。 CollectionView
包装了原生 UICollectionView
,它仍然是 UIScrollView
并且具有 Bounces
属性.
只是换了个地方!
using System;
using CollectionViewBounceSample.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CollectionView), typeof(NoBounceRenderer))]
namespace CollectionViewBounceSample.iOS
{
public class NoBounceRenderer : CollectionViewRenderer
{
public NoBounceRenderer()
{
}
protected override void OnElementChanged(ElementChangedEventArgs<GroupableItemsView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
Controller.CollectionView.Bounces = false;
}
}
}
这应该可以解决问题。完整示例在这里:https://github.com/jfversluis/CollectionViewBounceSample
我正在尝试使用自定义渲染器在我的 Xamarin.Forms 项目中关闭 CollectionView 对 iOS 的弹跳效果。我能够使用这个在 ListView 中实现这一点:
if (e.NewElement != null)
{
var listView = Control as UITableView;
Control.Bounces = false;
}
但 Bounces
属性 在 CollectionView 控件中不可用。还有其他方法吗?
像下面这样创建一个自定义渲染器。 CollectionView
包装了原生 UICollectionView
,它仍然是 UIScrollView
并且具有 Bounces
属性.
只是换了个地方!
using System;
using CollectionViewBounceSample.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CollectionView), typeof(NoBounceRenderer))]
namespace CollectionViewBounceSample.iOS
{
public class NoBounceRenderer : CollectionViewRenderer
{
public NoBounceRenderer()
{
}
protected override void OnElementChanged(ElementChangedEventArgs<GroupableItemsView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
Controller.CollectionView.Bounces = false;
}
}
}
这应该可以解决问题。完整示例在这里:https://github.com/jfversluis/CollectionViewBounceSample