I haven’t used it myself but Einhuger has a FlowControl plugin that might help in this situation.
That‘s what cross-platform is sometimes.
The intent of FlowControl is a different one. It’s for repositioning depending on the different sizes of a label for different languages for instance.
Yuck, no. Brute force is the last option I would use.
It might be worthwhile speaking to Bjorn to see if it could be enhanced to help with layout problems you are having.
We actually have our own in-house system that fixes positioning for multiple languages (we support 23 languages) and for MS-Windows related differences so I can hopefully use that when we get around to tackling this problem.
Yes, I absolutely see the problems connected to constraints. On the other hand I see Xojo is losing another part of its radishness if it does not support the user in handling different platforms elegantly. So currently it’s either brute force as mentioned here, living with ugly UI spots here and there or create a different window for each platform. Neither sounds good.
Design UI for Windows and have your constraints do a cleanup on macOS it at least a good mitigation for 2-platform-projects.
Sure the different systems’ constraints do only offer a very limited common denominator, but for me it looks like they do. So yes, I would welcome if Xojo would go that extra mile some day to make UI design easier. I fully agree iOS constraints are too complicated to use. May it be their confirm button still not having default status or the inability to design them easily with a drag and drop graphical interface. I go with your idea of a different editor mode where anchor points on all controls could be shown, with click and drag creating a constraint (showing entry fields for multiplier and constant and the like). Surely some work. But manageable IMHO, though only having tested an own, macOS native UI editor once and not the whole thing.
Under the right circumstances, auto layout does all this for you and accounts for the differences between versions of macOS as well. One thing your math can’t do that constraints can is align text baselines. That is, so that a control and its matching label are perfectly aligned, even if the heights of the controls are not the same. It is a different way of thinking though. Instead of put this control at this x & y coordinate, everything is positioned relative to something else, whether that’s the window or another control or “view” on the window. One of the big advantages is that you get automatic min/max size calculations for the window, just based on the size and shape of things inside it!