In a project that is currently focused on the iOS bits, I have a ListView that I'm using with a 'large' dataset that gets paged with the ListView's OnItemAppearing event. It works okay, sometimes. However, there are times where rows don't render, when appearing, and trying to add to an ObservableCollection with a LoadCommand for 'infinite' scrolling seems to block UI (the LoadCommand method is async, but I don't think Commands are or something?). The ViewCells are somewhat complex as they have a user avatar image circle, user name, date, optional image, and content. I'm starting to think that a ListView just isn't quite made for what I'm trying to do with it.
I started out with a ScrollView with a bunch of StackLayouts, btw. I'd go back to that, maybe using the Grid like Adam's doing in the ListView, but I'm not seeing any way to know that I've reached the end of the scroll. :P Some other things I've tried to alleviate the row rendering issue was to test out @GeorgeCook FastImage, in place of images (it seems that in a ListView, SDWebImage stuff doesn't re-layout the element, after images have loaded). I'm also thinking about just making every StackLayout within the Grid an AbsoluteLayout, but that control is still a bit esoteric to me.
I'm wondering if maybe a native ViewCell might help alleviate the row appearing issue or even the UI being blocked when scrolling. However, I'm not sure how I could set the height, in a native ViewCell renderer. Actually, I'm not even sure yet how to get the native UI to look like Adam's anger cards example. In any case, does anyone have any experience with a native ViewCell and getting it to have dynamic height? Or for that matter, any ideas for setting up a scrolling view like this, that doesn't work like amateur hour?