我有一个大约有50个UIButton的UIView。所有按钮位置都以像素为单位,相对于我的主UIView的左上角。
视图中使用的所有(背景)图像都具有更高的分辨率。当我将我的应用程序从iPhone移植到iPad时,我想增加UIView的有效像素大小。
现在我正在寻找一种将整个UIView升级2倍的方法。这有可能在不破坏内部元素的位置的情况下吗?
仅供参考,UIView是在XCode的NIB文件中设计的。但是我不介意它是否可以通过编程方式完成。
答案 0 :(得分:114)
我最终使用
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);
它允许我保持在Interface Builder中创建的设计。
不幸的是,在这种情况下图像的清晰度会受到影响,但与以编程方式编写整个设计的脚本相比,这是一个很小的代价。
答案 1 :(得分:10)
Swift 3.0的更新
self.view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
答案 2 :(得分:3)
对于Swift 4.0,缩放2x:
myView.transform = CGAffineTransform.identity.scaledBy(x: 2, y: 2)
答案 3 :(得分:2)
您可以首先以编程方式创建这些按钮,例如使用CGRectMake
方法创建这些按钮,并将宽度和高度指定为X和Y,如果检测到ipad,则将其乘以2,它也应分别更改,如果彼此太靠近可能会导致重叠
编辑:这完全取决于你的逻辑,我也不确定