有人知道如何在Xamarin.iOS中继承UICollectionView
吗?
我试过这个
public class MyCustomUICollectionView : UICollectionView
{
[Export ("initWithFrame:")]
public InfinitiveScrollingUICollectionView (CGRect frame) : base(frame)
{
// initialization
}
}
但我得到
UIKit.UICollectionView.UICollection(Foundation.NSCoder) has some invalid arguments Argument #1 cannot convert
CoreGraphics.CGRectexpression to type
Foundation.NSCoder`的最佳重载方法匹配。
我也尝试使用public InfinitiveScrollingUICollectionView ()
,但我得到了
类型
UIKit.UICollectionView
不包含带有' 0'的构造函数。参数
我想覆盖LayoutSubviews
。或者UICollectionViewController
是否应该用于此目的?
答案 0 :(得分:3)
UICollectionView
没有接受单CGRect
的构造函数,因此您也必须传递布局:
public class MyCustomUICollectionView : UICollectionView
{
public MyCustomUICollectionView(CGRect frame, UICollectionViewLayout layout)
: base(frame, layout)
{
}
}
如果你愿意,你也可以在内部创建布局,这样你就不必从外面传递它:
public class MyCustomUICollectionView : UICollectionView
{
private static readonly UICollectionViewLayout _layout;
static MyCustomUICollectionView()
{
// Just an example
_layout = new UICollectionViewFlowLayout();
}
public MyCustomUICollectionView(CGRect frame) : base(frame, _layout)
{
}
}