Skip to content

[iOS] [ActivityIndicator] IsRunning ignores IsVisible when set to true #28968

Open
@Domik234

Description

@Domik234

Description

The ActivityIndicator behaves differently on iOS compared to Android.

On Android, both IsRunning and IsVisible must be true for the indicator to be shown and animated. Otherwise, it remains hidden.

On iOS, the behavior is inconsistent:

Initial State Change Applied Expected Result Actual Result ✅ / ❌
IsRunning = false, IsVisible = false Set IsRunning = true Not visible Visible
IsRunning = false, IsVisible = false Set IsVisible = true Not visible Not visible
IsRunning = true, IsVisible = true Set IsRunning = false Not visible Not visible
IsRunning = true, IsVisible = true Set IsVisible = false Not visible Not visible

There should be a unified behavior where a change in either IsRunning or IsVisible triggers a check of both properties. The indicator should only be shown if both IsRunning and IsVisible are true.

I discovered this issue because the indicator remains rendered in my app even when IsVisible is set to false. In my case, a 1dp-sized ActivityIndicator blinks in the top-left corner of the layout after transitioning from IsRunning = true, IsVisible = true to IsVisible = false. I believe this could be addressed by properly synchronizing the visibility logic.

This behavior started after updating MAUI from 9.0.40 to 9.0.60 (I had to skip 9.0.50 due to a bug in CommunityToolkit dialogs that broke my app’s login flow).

iOS recording

Image

Setting only IsRunning = true on iOS causes the ActivityIndicator to become visible, ignoring the value of IsVisible. This contradicts expected behavior and differs from Android, where both IsRunning and IsVisible must be true for the indicator to appear.

Steps to Reproduce

  1. Create a new MAUI 9 app
  2. Add to MainPage a new ActivityIndicator (IsRunning false, IsVisible false)
  3. Set the IsRunning for ActivityIndicator to true (this should not work)

Link to public reproduction project repository

https://github.com/Domik234/Issue-MauiActivityIndicatorBehavior-iOS

Version with bug

9.0.60 SR6

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

9.0.40 SR4

Affected platforms

iOS

Affected platform versions

No response

Did you find any workaround?

Setting both properties should be enough. (IsRunning and IsVisible values should be always the same for proper behavior)

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions