2017-02-08 10 views
0

Насколько я понял, если вы указали размер в 100 точек в iOS, его следует интерпретировать как «100 пикселей с независимой от плотности пикселей», так что на экране он будет занимать такое же количество физического пространства, независимо от устройство.На iOS, почему 100 "точек" различного размера на разных устройствах?

Так что, если 2 устройства имели одинаковую плотность пикселей, каждое отображение 1 указывает на 2 пикселя, 100 точек занимают 200 пикселей на этих устройствах, и они будут иметь одинаковый физический размер. Если Device_B имеет 2x плотность пикселей устройства Device_A (а устройство A - 1: 1 пиксель: точка), то 100 точек занимают 100 пикселей на Device_A и 200 пикселей на Device_B, которые будут потреблять один и тот же физический экран. Я что-то упускаю?

Я тестировал UILabel размером 100x30 на iPhone 6 и iPad Air 2, и они определенно не занимают одинаковые физические размеры на экранах - метка 100x30 на экране iPhone 6 выглядит примерно 2/3 - тот же физический размер по сравнению с iPad.

Вот очень простой тестовый код

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    [self.view setBackgroundColor:[UIColor blueColor]]; 

    UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 100, 30)]; 
    testLabel.text = @"Test Label"; 
    testLabel.backgroundColor = [UIColor greenColor]; 

    [self.view addSubview:testLabel]; 
} 

Я приложил изображение 2 физических устройств, оказывающих ту же метку (IPad слева, iPhone справа).

enter image description here

+0

Вы, кажется запутанным "PPI" (пикселей на дюйм) с 1x/2x/3x плотность пикселей. Это две совершенно не связанные понятия. – rmaddy

+1

@rmaddy Может быть, я? Для меня эти звуки очень связаны. Количество пикселей на дюйм для меня, как плотность пикселей? – mbradber

+0

У них нет одинакового ppi. IPhone 6 имеет более высокий ppi, чем iPad Air 2. – dan

ответ

3

Ppi пиксель на дюйм, где пиксель означает пиксели физического устройства.

Факторы масштаба экрана iOS 1x, 2x, 3x означает только соотношение между физическими пикселями и точками экрана (независимые от плотности пиксели). Что еще не соответствует 100% для iPhone6 ​​& 7 плюс, где точки экрана отображаются в пикселях x3 масштаба, а затем это понижается с коэффициентом 1,15 до реальных пикселей экрана.

iPad Air 2 ppi = 264 iPhone 6 ppi = 326 Оба имеют масштабный коэффициент 2x. Таким образом, метка размером 100x30 будет иметь размер 200x60 в физических пикселях на каждом из устройств. И

200/264 x 60/264 = 0,76 X 0,23 дюймов на IPad

200/326 x 60/326 = 0,61 X 0,18 дюймов на iPhone6 ​​

+0

Благодарим вас за разъяснение разницы между масштабными коэффициентами и фактическим DPI. – mbradber