gpt4 book ai didi

ios - 设置 UICollectionViewDelegateFlowLayout Xamarin iOS F#

转载 作者:行者123 更新时间:2023-11-29 11:37:32 25 4
gpt4 key购买 nike

我创建了一个 UICollectionViewDelegateFlowLayout 的实例,如下所示:

type CollectionViewFlowDelegate (handle:IntPtr) = 
inherit UICollectionViewDelegateFlowLayout (handle)

override x.GetSizeForItem(collectionView : UICollectionView, layout : UICollectionViewLayout, indexPath : NSIndexPath) =
CGSize(100.0, 300.0)

我还有一个 UICollectionViewController 定义如下:

[<Register ("LandlordHome")>]
type LandlordHome (handle:IntPtr) =
inherit UICollectionViewController (handle)

let addToList (listan:List<Listing>) (element:Listing) = element::listan

let mutable listings : List<Listing> = List.Empty

override x.ViewDidLoad () =
base.ViewDidLoad ()
x.View.BackgroundColor <- UIColor.Gray
for i in 1..10 do
let listing : Listing = new Listing(....code....)
listings <- listing::listings
x.CollectionView.BackgroundColor <- UIColor.Green
//x.CollectionView.Delegate <- new CollectionViewFlowDelegate(handle);
x.CollectionView.RegisterClassForCell(typeof<ChatViewCell>, new NSString("ChatCell"))


override x.ViewDidAppear(animated) =
x.CollectionView.ReloadData()

override x.NumberOfSections(collectionView : UICollectionView) =
Conversions.nint(1)

override x.GetItemsCount(collectionView : UICollectionView, section : nint) =
Conversions.nint(listings.Length)

这很好用。但是,现在我想在我的 UICollectionViewController 中为 collectionView 设置委托(delegate),以便覆盖 UICollectionViewCell 的大小。为此,我取消注释这一行:

 //x.CollectionView.Delegate <- new CollectionViewFlowDelegate(handle);

这里导致程序崩溃:

Conversions.nint(listings.Length)

有以下异常(exception):

已抛出 System.NullReferenceException。对象引用未设置到对象的实例。

这对我来说没有任何意义,因为代码在没有设置委托(delegate)的情况下工作正常,所以 listings 不为空。

最佳答案

恐怕您忘记了使用Register 属性。

[<Register ("CollectionViewFlowDelegate")>]
type CollectionViewFlowDelegate (handle:IntPtr) =
inherit UICollectionViewDelegateFlowLayout (handle)

关于ios - 设置 UICollectionViewDelegateFlowLayout Xamarin iOS F#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com