【发布时间】:2019-08-06 05:57:45
【问题描述】:
我正在开发一个 ObjectiveC 应用程序,我需要在其中设置 uiview 的宽度和高度(以像素为单位),然后将该 uiview 缩放为等于设备宽度。以像素为单位的宽度和高度值是固定的(比如 900 像素 x 500 像素)。
目前我正在这样做,
UIScreen* mainScreen = [UIScreen mainScreen];
CGRect frame = CGRectMake(0, 0, 900.0, 500.0);
[view setFrame:frame];
CGFloat valScale = mainScreen.bounds.size.width/900.0;
[view setContentScaleFactor:valScale];
但这并没有给我想要的值。
我该怎么办?
(P.S) view.frame.size.width 是否返回以像素或点为单位的宽度?
【问题讨论】:
-
它给出了要点。还有
pixel = points x2. -
你为什么不用自动布局?
-
@trungduc 如何使用自动布局设置 uiview 的宽度和高度(以像素为单位)??
-
@k_dev 对于您的问题,
NSLayoutDimension类和constraintEqualToConstant:方法可以帮助您做到这一点。我看到您在下面的答案中提到您希望将视图缩放为等于设备宽度,那么为什么不简单地将视图的宽度设置为等于屏幕宽度? -
还有一件事你可能不知道。在 iPad 上,它们具有拆分模式,当应用处于此模式时,窗口的宽度不等于屏幕宽度。
标签: ios objective-c uiview pixel scaling