Thanks Andreas. Looking forward to trying it out.

Mark

Sent from my iPhone

> On Oct 3, 2021, at 11:44 AM, Andreas Bergendal via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> Hi guys,
> 
> This is for those of you who develop for iOS. We all know the challenge of 
> getting the layout right for various iOS screens. ”The notch” (camera area at 
> the top) is especially annoying, since there’s no easy way of knowing if the 
> user’s device has one or not, and how many pixels it is (there are 4 
> variants!).
> 
> In LC 9.6.3 iphoneDeviceModel was introduced. Where machine() just returns 
> ”iphone”, iphoneDeviceModel() returns e.g. ”iPhone10,6” (=iPhone X) or 
> ”iPad13,7” (=iPad Pro 11 inch).
> 
> But the Dictionary entry on iphoneDeviceModel just links to a Wikipedia page 
> listing mammoth tables of Apple device data. There is no way of knowing what 
> ”iPhone10,6” means without a decent lookup table.
> 
> So, I’ve made one! And a library to use it with! And a demo stack to test it 
> with!
> 
> It will check the device code of the current device, and return an array with 
> values for:
> - notch margin
> - portrait bottom margin
> - landscape bottom margin
> - (device model name - in the rare case that you'd need it)
> 
> You use these for determining the safe area your UI elements can use, when 
> rearranging them in response to the resizeStack message.
> Or e.g. how much taller the Header bar widget needs to be on a ”notch” device 
> in order to look good.
> 
> It’s all here and free to get, use and modify as you need:
> https://github.com/wheninspace/WISmobDeviceLib 
> <https://github.com/wheninspace/WISmobDeviceLib>
> 
> The demo stack has the library in its stack script, and the full lookup array 
> in a cProp, so that stack is all you need really.
> Testing must be done by deploying to physical devices though, as 
> iphoneDeviceModel() does not work in the iOS Simulator (or, it works, but 
> just returns a code for the Simulator itself…).
> 
> Let me know if anything can be improved on (of course it can)! :)
> 
> The source for my data is this excellent website:
> https://www.screensizes.app/ <https://www.screensizes.app/> which has 
> comprehensive screen info on every existing iOS device since the first iPhone.
> And this list which has the device codes interpreted:
> https://gist.github.com/adamawolf/3048717#file-apple_mobile_device_types-txt 
> <https://gist.github.com/adamawolf/3048717#file-apple_mobile_device_types-txt>
> 
> Cheers,
> Andreas
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to