Scale UIView and all its children

andreas picture andreas · Feb 5, 2013 · Viewed 51.3k times · Source

I have an UIView with around 50 UIButtons. All button positions were given in pixels, relative to the left upper corner of my main UIView.

All (background) images used in the view are available in higher resolution. As I am porting my app from iPhone to iPad, I would like to increase the effective pixel size of the UIView.

Now I'm searching a way to upscale the whole UIView by a factor of 2*. Is that possible without destroying the position of the inner elements?

FYI, the UIView is designed in a NIB-file in XCode. But I don't mind if it can be done programmatically.

Answer

andreas picture andreas · Feb 6, 2013

I ended up using

self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);

It allowed me to keep the design created in the Interface Builder.

Unfortunately the sharpness of the image suffers in that case, but this is a small price to pay compared to scripting the whole design programmatically.