Scale/Size issue on iOS

I have an app running on iOS and android, I recently switched to haxe 4 and from haxeui-core 1.0.1->1.1.3 and from haxeui-openfl 1.0.0->1.1.3. I’m testing on an iPad Air 2, resolution 1536 x 2048, dpi 264.

On android, everything is fine. On iOS I have size/scale issues.
Before the switch I was able to fix this by setting the autoscaledpithreshold to 60. Now this is no longer allowed. And after I hacked it back in the issue was no longer fixed. So I removed the hack again.

The issue is that the Toolkit is scaled by a factor 2, which looks ok for the text, but I can only see the topleft corner of the screen. The rest falls of, probably due to the scale. The Toolkit Screen size is 1536 x 2048.

When I turn off autoscale and set scale to 1, the screen is looks normal but the text and components are very small.

I thought I’d fix this by setting the toolkit screen size to stage size/toolkit.scale. But I’m not allowed to set the Screen.instance.width or height. Changing the Stage.width, height or scale does nothing it seems.

Is there a quick fix/bypass?

I was able to circumvent this by setting the percentWidth and Height to 50.
But now it seems the dropdowns crash line 226:
_listview.width = _dropdown.width - (wrapper.layout.paddingLeft + wrapper.layout.paddingRight);

Nullobject reference. Seems related…

This was unrelated. wrapper.layout can be null.
Seems nobody ever tested this.

It appears that even with a null check the dropdown list is messed up visually on iOS. It appears much wider than the screen and the height is 25 pixels total. Text seems to be off screen.

This is currently unusable. It was working fine in 1.0.0 pre Haxe 4. But switching back is not an option.

Text is no longer displayed, not off screen. It seems value, id is no longer a supported combination for items. Items now need a text property.

Visually the dropdown list is still a mess. That might be related to the scaling/size issue I started out with.

Ok, so whats happening here? Im not 100% following. So you have a screen which is 1536 x 2048, if you set Tookit.autoScale = false, and manually set the Tookit.scaleX/Y is there a value there that does look right?


EDIT: when autoScale is true, what does it try to scale the UI to?

from: HaxeUI v1.1 released!

.text is now used rather than .value in default items renderers
This isnt a huge change, but may cause some confusion with existing UIs: previously to show text in a dropdown, or listview, or tableview you would use .value, this has changed now to make things more consistent to .text, eg:
var ds = new ArrayDataSource();
ds.add({text: “Item 1”});
ds.add({text: “Item 2”});
ds.add({text: “Item 3”});
This applies to xml also - if you find your lists not showing data after the update, try changing your population method to use .text