UICollectionViewDelegateFlowLayout有一個名爲sizeForItem(在MonoTouch中爲GetSizeForItem)的方法。如何在UICollectionViewController中提供GetSizeForItem實現?
但我沒有明確提供委託 - 相反,我從UICollectionViewController繼承。
它混合數據源和委託功能,但沒有此方法覆蓋。
我嘗試添加這對我的控制器:
[Export ("collectionView:layout:sizeForItemAtIndexPath:")]
public virtual SizeF GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, NSIndexPath indexPath)
{
return new SizeF (100, 100);
}
,它從未被調用。
如何提供此方法而不訴諸分離委託和數據源?
可以不加這個。在Obj-C中,數據源對象可以採用委託協議。這在Monotouch中不可行。 – svn
@svn:所以唯一的解決方案是擺脫控制器,並使用數據源和委託呢?如果是這種情況,請將其作爲回答發佈,以便我可以接受。 –
您可以在您的子類控制器中定義並分配自定義委託和數據源。這種方式,你可以使用你的自定義控制器形式外部和內部使用您的自定義代表 – svn