我正在开发一个ObjectiveC应用程序,在该应用程序中,我需要以像素为单位设置uiview的宽度和高度,然后将uiview缩放为等于设备的宽度。宽度和高度的像素值是固定的(例如900 px x 500 px)。
目前我正在这样做,
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];
但是,这并没有给我想要的值。
我该怎么办?
(PS)view.frame.size.width
返回像素或点的宽度吗?
答案 0 :(得分:0)
您好,您可以使用transform属性缩放视图。假设您希望将UIView缩放2倍,则可以使用。
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);
CGRect的宽度和高度返回点而不是像素。对于2x的设备(如iPhone 6,7),一个点有两个像素;对于3x的设备(如iPhone 6 Plus,7 Plus),一个点为三个像素。
有关更多详细信息,请参阅this Apple的文档链接。