缩放UIView及其所有子节点

and*_*eas 51 objective-c scale subview uiview ios

我有一个大约有50个UIButton的UIView.所有按钮位置都以像素为单位,相对于我的主UIView的左上角.

视图中使用的所有(背景)图像都具有更高的分辨率.当我将我的应用程序从iPhone移植到iPad时,我想增加UIView的有效像素大小.

现在我正在寻找一种将整个UIView升级2倍的方法.这是否可能在不破坏内部元素的位置的情况下?

仅供参考,UIView是在XCode中的NIB文件中设计的.但是我不介意它是否可以通过编程方式完成.

and*_*eas 117

我最终使用了

self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);
Run Code Online (Sandbox Code Playgroud)

它允许我保持在Interface Builder中创建的设计.

不幸的是,在这种情况下图像的清晰度受到影响,但与以编程方式编写整个设计的脚本相比,这是一个很小的代价.

  • 稍微容易一点:`self.view.transform = CGAffineTransformMakeScale(2,2);` (40认同)

sah*_*ain 11

Swift 3.0的更新

self.view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
Run Code Online (Sandbox Code Playgroud)


huy*_*ync 10

对于 Swift 4.0,缩放 2 倍:

myView.transform = CGAffineTransform.identity.scaledBy(x: 2, y: 2)
Run Code Online (Sandbox Code Playgroud)