Swift GUI Builder - Beta Available [10Jan]

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.

1 Like

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:

  1. When you say “missing controls”, do you mean missing Xojo iOS controls or missing Cocoa Touch controls that Xojo doesn’t provide?
  2. 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?
  3. Do you need any other GUI performance checked, like light mode/dark mode appearance or issues related to accessibility?
  4. What is the timetable for doing this?
  5. Would you need help transitioning the code to Swift?

Scott

Good Morning

  1. 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
  2. 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
  3. 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
  4. No time table at all… I’ve been working on this on/off for many years already
  5. 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”… :slight_smile: )

Ok… I have the first “beta” test version ready…

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.

  1. it is NOT signed or notorized (just gotta trust me I guess)

  2. It is written in Xojo 2019r1.1 (API1), 64bit

  3. It is LIGHT MODE only (this will change in the future)

  4. it does require XCODE/SWIFT be installed (otherwise, whats the point?)

  5. 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 :frowning:
Will let you know when I get the FTP situation fixed

Ok… I have the first “beta” test version ready…
the zip file is 9meg, and the app is 33meg

it should be available at

www.rdsisemore.com/RAPID.app.zip

  1. it is NOT signed or notorized (just gotta trust me I guess)
  2. It is written in Xojo 2019r1.1 (API1), 64bit for macOS only
  3. It is LIGHT MODE only (this will change in the future)
  4. it does require XCODE/SWIFT be installed (otherwise, whats the point?)
  5. 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

1 Like

Hi,
Using create swift code crash app (noe)

In mode design
you can’t move selected control with arrow keys
you can’t switch to next control with tab key

good work

More background on NOE?

as to the other two… No, I had not even considered those features…

EDIT : next release will have Arrow keys to “nudge” the controls… Still thinking about TAB
Seems Xojo never bothered to document any of those

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.

1 Like