約50個のUIButtonを持つUIViewがあります。すべてのボタンの位置は、メインUIViewの左上隅を基準にしてピクセル単位で指定されました。
ビューで使用されるすべての(背景)画像は、より高い解像度で利用できます。 iPhoneからiPadにアプリを移植する際、UIViewの有効ピクセルサイズを増やしたいと思います。
現在、UIView全体を2倍にアップスケールする方法を探しています。内部の要素の位置を破壊することなくそれは可能ですか?
参考までに、UIViewはXCodeのNIBファイルで設計されています。しかし、プログラムで実行できるかどうかは気にしません。
使用してしまいました
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);
Interface Builderで作成したデザインを維持することができました。
残念ながら、その場合、画像の鮮明さが損なわれますが、これはデザイン全体をプログラムでスクリプト化するのに比べて、わずかな代償です。
Swift 3.0の更新
self.view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
Swift 4.0、ズーム2x:
myView.transform = CGAffineTransform.identity.scaledBy(x: 2, y: 2)
たとえば、CGRectMake
メソッドを使用してボタンを作成し、幅と高さをXおよびYに指定し、iPadが検出された場合はOriginについてもそれぞれ変更する必要がある場合、2を乗算することで、ボタンを作成します。互いに近すぎるとオーバーラップが発生する
編集:それはすべてあなたのロジックに依存します、私も不確かです