XojoiOSWrapper is a module that adds to Xojo iOS a collection of methods that wrap the new framework into legacy methods so existing code written in classic framework can run mostly as is.
I just added two methods I just needed for one of my apps :
Str does the same thing as classic Str(color), which turns a color in its string expression, or Str(number) which turns a number into its Text value, or Str(Date) which returns SQLDateTime.
iOSImage.Transparent as iOSImage which turns the white in a picture to transparent, like classic Transparent does. The function is slow because it relies on pixel, but it does the job. With some luck in the future, Interops will enable replacing pure Xojo code by a much faster call to the framework.
Thanks for sharing. Very useful indeed.
As I am porting Check Writer to iOS, I have to add things to the wrapper as I go along for existing code to execute without extra refactoring. Today, I just added Boolean to Str, so you can do this like in Desktop
Dim T as Text
Dim B as Boolean = True
T = Str(B)
Break // T = "True"
I didn’t know you could do it with Str(), although it makes perfect sense boolean being a numeric value.
I’ve used an archaic extends function for the longest time .stringValue… lol…
Booleans aren’t numeric though
booleans are logical values not numbers
Now when you get right down to it at a byte level everything is “numeric” but …
I use custom classes and iOSContainerControls, and sometimes have to access the current view. For instance to call the picture picker. So I added
ContainerControl.TrueView as iOSView
Both do the same thing, return the view onto which the control rests. It works within iOSContainerControls, as well as custom iOSControls.
Adding graphics :
I wanted to add g.Bold and g.Italic, but it appears these are purely and simply absent from iOSGraphics.