首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子类UICollectionView

子类UICollectionView
EN

Stack Overflow用户
提问于 2015-03-27 13:51:57
回答 1查看 770关注 0票数 1

有人知道如何在UICollectionView中子类Xamarin.iOS吗?

我试过这个

代码语言:javascript
复制
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 convertCoreGraphics.CGRectexpression to typeFoundation.NSCoder`.的最佳重载方法匹配

我也尝试过使用public InfinitiveScrollingUICollectionView (),但是

类型UIKit.UICollectionView不包含接受'0‘参数的构造函数

我想覆盖LayoutSubviews。还是应该将UICollectionViewController用于这一目的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 18:41:13

UICollectionView没有接受单个CGRect的构造函数,所以您也必须传递一个布局:

代码语言:javascript
复制
public class MyCustomUICollectionView : UICollectionView
{
    public MyCustomUICollectionView(CGRect frame, UICollectionViewLayout layout) 
        : base(frame, layout)
    {
    }
}

如果您愿意,也可以在内部创建布局,因此不必从外部传递它:

代码语言:javascript
复制
public class MyCustomUICollectionView : UICollectionView
{
    private static readonly UICollectionViewLayout _layout;

    static MyCustomUICollectionView()
    {
        // Just an example
        _layout = new UICollectionViewFlowLayout();
    }

    public MyCustomUICollectionView(CGRect frame) : base(frame, _layout)
    {
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29302301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档