Data storage/Lookup ideas?

I have an app the creates the layout for controls on an iOS device (not using Autolayout)…
This method works, but was wondering if someone might have another idea as to how to lookup the data.

// Device : iPhoneSE [2nd/3rdGen]
			case "0375:0667":
switch ctrl_id {
   case 1 : frame=CGRect(x:0032.60,y:0033.80,width:0289.90,height:0145.80)
   case 2 : frame=CGRect(x:0030.80,y:0208.70,width:0289.90,height:0145.80)
   case 3 : frame=CGRect(x:0031.70,y:0398.30,width:0289.90,height:0145.80)
   default : break
// Device : iPhone11pro/X/Xs/
case "0375:0812":
switch ctrl_id {
   case 1 : frame=CGRect(x:0032.60,y:0059.20,width:0289.90,height:0160.50)
   case 2 : frame=CGRect(x:0030.80,y:0251.70,width:0289.90,height:0160.50)
   case 3 : frame=CGRect(x:0031.70,y:0460.30,width:0289.90,height:0160.50)
   default : break

case 1,2,3 refers to a specific control and there could be two sets if app is port and land
there is one section for each “family” of device (example shows only 2)

I found that this method is as fast (if not faster than Autolayout), but would like something that is more compact

One idea was to replace

frame = CGRect(....)


array = [...]

and set the frame in one line of code


would become