59

約50個のUIButtonを備えたUIViewがあります。すべてのボタンの位置は、メインUIViewの左上隅を基準にしてピクセル単位で指定されています。

ビューで使用されるすべての(背景)画像は、より高い解像度で利用できます。アプリをiPhoneからiPadに移植しているので、UIViewの有効ピクセルサイズを大きくしたいと思います。

現在、UIView全体を2倍にアップスケールする方法を探しています*。内部要素の位置を破壊することなくそれは可能ですか?

参考までに、UIViewはXCodeのNIBファイルで設計されています。しかし、それがプログラムで実行できるかどうかは気にしません。

4

4 に答える 4

123

私は使用することになった

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

これにより、InterfaceBuilderで作成されたデザインを維持することができました。

残念ながら、その場合、画像の鮮明さが損なわれますが、プログラムでデザイン全体をスクリプト化する場合に比べて、これは少額の費用です。

于 2013-02-05T23:34:20.677 に答える
13

Swift3.0のアップデート

self.view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
于 2017-07-12T08:24:37.663 に答える
11

Swift 4.0の場合、2倍にズームします。

myView.transform = CGAffineTransform.identity.scaledBy(x: 2, y: 2)
于 2018-06-15T16:29:20.373 に答える
2

最初にプログラムでこれらのボタンを作成できます。たとえば、CGRectMakeメソッドを使用してこれらのボタンを作成し、幅と高さをXとYに指定し、ipadが原点として検出された場合は、それぞれ2を掛けます。近すぎると、オーバーラップが発生する可能性があります。お互い

編集:それはすべてあなたの論理に依存します、私もよくわかりません

于 2013-02-05T01:26:01.577 に答える