Как установить ширину и высоту UIVIew в пикселях? - PullRequest
0 голосов
/ 15 марта 2019

Я работаю над приложением 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 возвращает ширину в пикселях или точках?

1 Ответ

0 голосов
/ 15 марта 2019

Привет, для масштабирования вида вы можете использовать свойство transform. Скажем, вы хотите масштабировать UIView в 2 раза, тогда вы можете использовать.

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

CGRect ширина и высота возвращает точки, а не пиксели. Одна точка имеет два пикселя для 2х устройств, таких как iPhone 6,7, и три пикселя для 3х устройств, таких как iPhone 6 Plus, 7 Plus.

Для более подробной информации вы можете обратиться к этой ссылке на документацию Apple.

...