Skip to content

[iOS] CarouselView throws NSInternalInconsistencyException with data templates and template selector #39211

Closed

Description

@jbcomp

Description

On iOS attempting to use a CarouselView with data templates and a template selector fails with a ObjCRuntime.CObjCException: "Name: NSInternalInconsistencyException Reason: Attempted to dequeue a cell for a different registration or reuse identifier than the existing cell when reconfiguring an item, which is not allowed. You must dequeue a cell using the same registration or reuse identifier that was used to dequeue the cell originally to obtain the existing cell."

Steps to Reproduce

MauiCarouselView.zip

See the attached repro project. Also available at: https://github.com/jbcomp/JBCT-1948B-MauiCarouselView

The example shows a horizontally scrollable CarouselView with two items each with a different data template.

REPRO

As per the project, using Microsoft.Maui.Controls v10.0.110:

  • On Android the carousel items are shown and it is possible to swipe horizontally between them. This functions correctly on all Android versions from 10 upwards.

  • On iOS the repro fails immediately on launch with a ObjCRuntime.CObjCException: "Name: NSInternalInconsistencyException Reason: Attempted to dequeue a cell for a different registration or reuse identifier than the existing cell when reconfiguring an item, which is not allowed. You must dequeue a cell using the same registration or reuse identifier that was used to dequeue the cell originally to obtain the existing cell."

This has been verified on iOS 26.5 only, but probably applies to all versions.

REGRESSION

Modify to use Microsoft.Maui.Controls v10.0.90, and it functions as expected on iOS - the carousel items are shown and it is possible to swipe between them. This regression issue was introduce in Microsoft.Maui.Control v10.0.100.

Link to public reproduction project repository

https://github.com/jbcomp/JBCT-1948B-MauiCarouselView

Version with bug

10.0.110

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

10.0.90

Affected platforms

iOS

Affected platform versions

No response

Did you find any workaround?

Only by reverting to the earlier handler:

#if IOS || MACCATALYST
builder.ConfigureMauiHandlers(handlers =>
{
handlers.AddHandler<
Microsoft.Maui.Controls.CarouselView,
Microsoft.Maui.Controls.Handlers.Items.CarouselViewHandler>();
});
#endif

Relevant log output

Activity

  1. HarishKumarSF4517 commented on Oct 7, 2026

    @HarishKumarSF4517
    Contributor

    This issue has been validated in Visual Studio Code 1.140.0 with .NET MAUI versions 10.0.90, 10.0.100 and 10.0.110. It can be reproduced from 10.0.100 version on iOS26 platform. I have attached the output below:
    Note: This issue not occurs on iOS18 on 10.0.110 version

    Image
  2. added
    s/verifiedVerified / Reproducible Issue ready for Engineering Triage
    s/triagedIssue has been reviewed
    i/regressionThis issue described a confirmed regression on a currently supported version
    on Oct 7, 2026
  3. added a commit that references this issue on Oct 7, 2026
    0a504fe
  4. added this to the .NET 10 SR12 milestone on Oct 7, 2026
  5. added a commit that references this issue on Oct 8, 2026
    2574f7c
  6. kubaflo commented on Oct 13, 2026

    @kubaflo
    Contributor

    Fixed in #39228, with the same fix ported to inflight/candidate in #39254. The Items2 controller preserves the existing UIKit cell reuse identifier during reconfiguration, preventing the reported template-selector exception. Closing based on the merged fix; package availability follows release promotion.

  7. added 6 commits that reference this issue on Oct 13, 2026
    fd298a4
    5328ff6
    233f5e1
    abeb1a3
    0c3a51d
    72050cf
  8. locked and limited conversation to collaborators on Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-controls-collectionviewCollectionView, CarouselView, IndicatorViewi/regressionThis issue described a confirmed regression on a currently supported versionpartner/syncfusionIssues / PR's with Syncfusion collaborationplatform/iosregressed-in-10.0.100s/triagedIssue has been revieweds/verifiedVerified / Reproducible Issue ready for Engineering Triaget/bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions