@expo/ui
exposes SwiftUI's
refreshable
modifier for
List
, but there is currently no way to customize the color/tint of the native refresh indicator.
The refresh gesture works correctly and the native SwiftUI refresh indicator is displayed, but its color remains the system/default color.
Expected behavior
There should be a way to configure the tint/color of the refresh indicator, for example:
refreshable({
onRefresh: async () => {
await refresh()
},
tint: '#FF5A5F',
})
or preferably through a dedicated modifier/API that maps to the appropriate SwiftUI behavior.
For example:
<List
modifiers={[
listStyle('plain'),
refreshable(refresh),
refreshableTint('#FF5A5F'),
]}
/>
The exact API is up to the maintainers; the important part is exposing the ability to customize the refresh indicator's color.
Current behavior
Applying the existing tint() modifier to the List does not change the color of the refresh indicator:
<List
modifiers={[
listStyle('plain'),
tint('#FF5A5F'),
refreshable(refresh),
]}
/>
The refresh indicator remains black/system-colored.
This is particularly noticeable in applications with custom light/dark themes where the default indicator color does not match the application's accent color.