Hi Bob,
I’ve tried running your project and while I could make some other recommendations on what you might change in terms of best practices, I do not see anything in the code that would cause the problem you’ve experienced with the iphone 14+ simulator.
As per google, the screen resolution of this device is 1284 x 2778 so I tried running your project in a custom simulator window and I did not see the same issue with rendering of the background. I’ve also attached an image showing the output of your menu screen.
In your config.lua, you have gone with a 1:2 ratio for contentWidth:contentHeight which I’m not sure is the best choice-- I personally always stick to a 9:16 ratio such as 750x1334 (which is also the screen resolution for iphone6). If you design your UI and assets for a standard aspect ratio, you’ll be able to get a more consistent output on the vast majority of devices and you can also easily accommodate more modern/taller devices by simply using larger backgrounds for your screens.
For instance, all backgrounds in my projects tend to be 750x1624 (iphone X) even though my contentWidth:contentHeight is always set to 750x1334. This allows me to design all gameplay for a standard 9:16 resolution while also ensuring that users on taller devices don’t see black bars on the top and bottom because I use taller backgrounds.
I am also unfamiliar with the Director module that you are using for moving between menus/screens. The documentation of his module advises using “zoomStretch” scaling but I don’t think that should affect how you are rendering your background because that’s just a simple image being loaded and put into a display group. Perhaps you can use Solar2D’s own scene management system which is more robust-- Solar2D Documentation — Developer Guides | UI/Scenes
Ultimately, I think the only sure shot way to find out if your code is rendering the menus correctly will be to try and get hold of an iphone14+ or another similar iphone and get a development build onto that device. Within the Solar2D environment, however, I was not able to reproduce the issue.
Hope this helps.