ListViews and iOS

Here is an .aia that contains data for the upcoming FOSDEM conference in Brussels.
It works nicely on my Pixel7 Android phone, but it fails miserably on my iOS devices.
fosdem4iOS_0121.aia (460.8 KB)
Here are screenshots:

I think that the problem is related to the ListViews that need to be shown side-by-side and are therefore in a HorzontalArrangement.

Then there is an irritant:
Error from Companion: error: unrecognized method. (irritants: setImageHeight)
This is because I tried to set the image height in the ListView to something else as 200px.
I think it would have been nice to show an iOS app made with App Inventor, but I need to find a simpeler subject maybe!

As I have already mentioned several times elsewhere, almost all design/layout-relevant settings have to be made using blocks.

fosdem4iOS_0121_b.aia (461.3 KB)

Thanks Anke,
Maybe you mentioned before that you need to set layout settings using blocks in iOS, but I missed it. Sorry. I tried to find it now, but I could not.
So, what did you do? Add a Clock? Now one of the LV's becomes visible, only partly though. Do I need 7 more clocks for the 8 LV's I have in my app?

@ewpatton I think that MIT could do better for iOS.

E.g. here:

One should be enough.

Thanks again Anke!
This turns out to be way beyond the effort I wanted to spend in showing how easy it will be to convert an Android app to an iOS app.
Probably I will wait a bit.


@ewpatton how is the forecast to solve the iOS issue about the synchro inilizalitatio?

So far I have done a lot more work on this. The work-around solution is to have NO ListViews side-by-side in a horizontal arrangement.
Unfortunately that makes the logic of this app very complicated. Her is my current .aia
fosdem4iOS_0129.aia (462.7 KB)
It works if you look at rooms and then at events, but if you start with tracks, it is still buggy. Anyway, there are still some strange layout problems, like labels that are half a page deep for a while.
I think I will give up for now.

Your problem on iOS looks similar to mine when I try to recreate a more real ListView using css in the project editor.

Thanks for noticing. Although it is possible to make an app without horizontal layouts, and Listviews, it requires umpteen labels instead, to show where you are at in the app, instead of showing information side by side.

Thanks for using App Inventor :). Can you specify which exact Label is causing this problem? I recently made a PR that fixes a problem with the layout and what to check if that PR can fix some of these problems. Thanks!

If you change the height of lblSpacer to automatic, it takes the whole vertical space when you start the app. This label is there, because otherwise the top part of the app falls under the top row on the phone (an iPhone SE, which tells me the time, the wifi connection etc.). If you change it back to 20px or so, it looks allright, but then, when you choose a day, the label lblConference will take all vertical space. When you now choose an option (either rooms, start times or tracks) the screen will be ok again.

As @Anke noticed, the ListViews and HorizontalArrangements not working together, is a timing problem, which can be "solved" by using Clocks. This is much too difficult in the case of my 8 ListViews interacting, and I think that is not something that can be a proper solution.
Anyway, I am wondering whether the problem in the case of my app could have been be made worse by the use of JavaScript using a timer. The timer looks for a changed WebViewString and then executes an XPath query, to find the requested conference data, which it then presents back to a WebViewer.

May be your dimmensions layouts problems are generate by the synchro problems sequence-initializations on the IPA Builder and it will be solved on the next two weeks as @ewpatton said here:

This whole List View redesign could be avoided extension free with the addition of maybe just two blocks to AI2:

  • An Arrangement block Subcomponents that returns a list of the Subcomponents of that Arrangement
  • An Extend Arrangement block to clone a new Subcomponent at the end of an Arrangement and return the new Subcomponent

These two blocks are all that would be needed to grow and traverse Table Arrangements.

(edit - probably need a third block, to reset the list of subcomponents of the Arrangement, with garbage collection.)

That's strange, what you describe here works for me, you are using the updated companion app? it's also possible maybe I'm not fully understanding the process, in my phone 20 pixels and automatic looks the same?

I am using the TestFlight companion, that should be the latest?
In my app, these labels take up all vertical space and then, at the next click they become as high as they should again.

More than 1.5 million characters.