59

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

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

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

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

4

4 回答 4

123

我最终使用

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

它允许我保留在 Interface Builder 中创建的设计。

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

于 2013-02-05T23:34:20.677 回答
13

Swift 3.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 并乘以 2 如果 ipad 被检测到原点它也应该分别改变,如果太接近可能会导致重叠彼此

编辑:这完全取决于你的逻辑,我也不确定

于 2013-02-05T01:26:01.577 回答