I have over the course of the last few years, been working on an app to make it as easy to create GUI layouts for Swift™ and it is to make them for Xojo™
I had a version that worked well enough that I have used it to create the basis for many Swift projects, but it had issues, and did not support all the most current devices (it was targeted for iOS9.3).
Over the past few days, I have cleaned up a lot of the code, added all the newest devices, and fixed some issues where the emitted code wasn’t quite right.
I am looking for 1 or 2 people that have at least a working knowledge of Swift and who would be willing to beat the snot out of this code.
You will need to have Xcode 14.2 and the corresponding version of Swift installed.
What I need is :
Do you see any iOS controls that are missing from the toolbox?
Do you see any Properties missing for any of the included controls
For each included control, does the generated Swift code properly represent what the app shows (colors, text, etc) [note the App “draws” each control, so there may be “some” variance]
Does the generated Swift code contain errors
Does the generated Swift code honor the safeareas?
Does the generated Swift code properly handle device rotation?
Note : the devices supported are based solely on screen size/resolution (it does NOT use Autolay [on purpose])… For example, an iPhone11, 11max, Xr and XsMax are treated as the same device type.
This has been a very complex and on-going project, and is still a work in progress…
NOTE : this is written in Xojo2019r1.1 64bit … the hope is to translate it to Swift once all the logic is worked out.
Hi Dave. I’d be willing to do some testing for you, contingent upon the state of my migraines and other medical problems. I think you have my email address if you want to discuss it in private.
A few questions:
When you say “missing controls”, do you mean missing Xojo iOS controls or missing Cocoa Touch controls that Xojo doesn’t provide?
Are the “missing propertiies” Xojo iOS control properties or Swift properties not yet represented by Xojo iOS controls that could add additional capabilities to the Xojo classes?
Do you need any other GUI performance checked, like light mode/dark mode appearance or issues related to accessibility?
What is the timetable for doing this?
Would you need help transitioning the code to Swift?
Controls that Apple provides for iOS that I have overlooked… I already have a few that Xojo does not provide, and I would like to make this as feature complete as I can
For those controls that are included. to insure that as many supportable properties are made available… Xojo is woefully short on what it allows / provides
at some point, yes… primarily Dark/Light. Right now there is little or no support in my app for that, but it is under condsideration
No time table at all… I’ve been working on this on/off for many years already
Probably not, thanks. I already have a macOS version started in Swift, and I may just expand that to do both macOS/iOS… the iOS version is way ahead of the macOS version … So I decided to finish the iOS version in Xojo so I had a solid logic base
thanks to those who have shown an interest.
this will be delayed a few days, as I recently discovered that the way it handles images was fine for iOS9, but the methods it uses have since been deprecated… So I have to bring image handling up to iOS15 standards.
Also (and this may/may not add to the delay)… I want to support Colorsets as well … something also added since iOS9
Got most of the image management working… the old version did not use image.xcassets this one does. Xcode has indicated a number of “build setting changes”… so I need to update the project file to support those…
Then some unit testing (Hey XOJO? Hear that? “testing”… )
However, my Webserver vendor has screwed something up…. I can’t log in to load the file
the zip file is 9meg, and the app is 33meg
in the meantime.
it is NOT signed or notorized (just gotta trust me I guess)
It is written in Xojo 2019r1.1 (API1), 64bit
It is LIGHT MODE only (this will change in the future)
it does require XCODE/SWIFT be installed (otherwise, whats the point?)
for now the lifespan of the app is set to 90days…just to protect me. As “we” find errors and “I” fix them, the 90day clock starts over. I’ve had people in the past take an evaluation copy of an app and “vanish”
and I do not seem to have your direct email address
Will let you know when I get the FTP situation fixed
it is NOT signed or notorized (just gotta trust me I guess)
It is written in Xojo 2019r1.1 (API1), 64bit for macOS only
It is LIGHT MODE only (this will change in the future)
it does require XCODE/SWIFT be installed (otherwise, whats the point?)
for now the lifespan of the app is set to 90days…just to protect me. As “we” find errors and “I” fix them, the 90day clock starts over. I’ve had people in the past take an evaluation copy of an app and “vanish”
For the most part it works similar to the Xojo IDE. It does NOT use Autolayout or Interface Builder in any of its steps. The “transpiler” writes a lookup table for each device to use (actually faster than AL).
I reccommend doing the layout for the smallest device (iPhoneSE or iPad9.7)… then right click and use the RESCALE function to automatically layout all the other devices. This rescale feature honors the SAFEAREA of each device family.
As of now it should support iOS15.6 and up to iPhone14. The LOWEST device it supports in iPhoneSE(2020)…
Please ASK QUESTIONS, MAKE SUGGESTIONS,
Note : it ONLY DOES GUI at this time, but it does make stubs for most control events
Arrow key feature has been pretty universal in the form designers I’ve used over the decades; I rely on it. Tab, I haven’t ever been aware of, might be there, might not.
For those of you who are interested in this project.
I have decided to NOT move forward with the version that is written in Xojo2019r1.1, for a number of reasons. I am trying to move away from Xojo as much as possible for one, there are features that I need in this app that are extremely difficult to do with Xojo, not to mention that 2019r1.1 is 4 years old already. So as such I am in the middle of writing a newer version 100% in Swift, that will do not only iOS GUI as the current version, but will also do macOS GUI too.