我有一个带有大约 50 个 UIButton 的 UIView。所有按钮的位置都以像素为单位,相对于我的主 UIView 的左上角。
视图中使用的所有(背景)图像都具有更高的分辨率。当我将我的应用程序从 iPhone 移植到 iPad 时,我想增加 UIView 的有效像素大小。
现在我正在寻找一种将整个 UIView 放大 2 倍的方法。在不破坏内部元素位置的情况下,这是否可能?
仅供参考,UIView 是在 XCode 中的 NIB 文件中设计的。但我不介意它是否可以以编程方式完成。
我有一个带有大约 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,缩放 2 倍:
myView.transform = CGAffineTransform.identity.scaledBy(x: 2, y: 2)
您可以首先以编程方式创建这些按钮,例如使用该CGRectMake
方法创建这些按钮并将宽度和高度声明为 X 和 Y 并乘以 2 如果 ipad 被检测到原点它也应该分别改变,如果太接近可能会导致重叠彼此
编辑:这完全取决于你的逻辑,我也不确定