xamarin/Xamarin.Forms

[Bug] CollectionViewRenderer, Control under iOS not of type UICollectionView

開放

#6,325 建立於 2019年5月28日

 (5 則留言) (3 個反應) (0 位負責人)C# (1,926 個分叉)batch import
a/collectionviewa/customrenderera/docse/6 :clock6:help wantedp/iOS 🍎t/bug :bug:up-for-grabs

倉庫指標

星標
 (5,644 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

Description

According to the documentations https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/renderers#views Xamarin Forms' CollectionView should be of type UICollectionView under iOS. However when implementing a Customrenderer with the help of CollectionViewRenderer the Control is of type UICollectionViewControllerWrapperView. It is difficult or can just be done by tricks to get the actual UICollectionView to manipulate the rendering.

Steps to Reproduce

  1. Create a new Xamarin Forms app
  2. Create a class inheriting from CollectionView
  3. In the iOS project create a custom renderer inheriting from CollectionViewRenderer
  4. In the OnElementChanged (Or somewhere you want) print/see the type of Control

Expected Behavior

Control of an iOS CollectionViewRenderer is of type UICollectionView

Actual Behavior

Control of an iOSCollectionViewRenderer is of type UICollectionViewControllerWrapperView

Basic Information

  • Version with issue: Xamarin Forms 3.6.0.264807
  • Last known good version: /
  • IDE: Visual Studio for Mac Community 8.0.5 (build 9)
  • Platform Target Frameworks:
    • iOS: Target is 8.0, Device is 12.2

Links

Had a question on the Xamarin community about it already with two workarounds: https://forums.xamarin.com/discussion/156810/ios-collectionviewrenderer-get-uicollectionview#latest

貢獻者指南