Hello,
I can reproduce your issue. You could try to wrap the Grid with a Border or Frame, the viewcell won't disappear. You could also try replacing the TableView with ListView.
Update
add frame android will disappear
For this, you could set different UI based on the platform. See Customize UI appearance based on the platform and device idiom - .NET MAUI | Microsoft Learn
<ContentPage ...>
<TableView Intent="Menu">
<TableRoot>
<TableSection>
<OnPlatform x:TypeArguments="ViewCell">
<On Platform="iOS">
<ViewCell >
<Frame>
<Grid>
...
</Grid>
</Frame>
</ViewCell>
</On>
<On Platform="Android">
<ViewCell>
<Grid>
...
</Grid>
</ViewCell>
</On>
</OnPlatform>
... other viewcells
</TableSection>
</TableRoot>
</TableView>
</ContentPage>
There is a same issue reported at Github- ListView ViewCell content disappears when the application enters the foreground · Issue #11640 · dotnet/maui · GitHub, please follow the progress.
Update
As you Fei Xu said, adding frame for iOS have another problem, second label will cover with first label even HorizontalOptions="End"
So, you use TextCell for this function temporary.
Thanks for your sharing.
Best Regards,
Wenyan Zhang
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.