setFrame - мне нужно некоторое разъяснение по этому поводу

У меня есть код для программного создания кнопок, и вот он

UIImage *aroundImage = [UIImage imageNamed:@"locBar.png"];
    UIImage *aroundImageDown = [UIImage imageNamed:@"locBarColor.png"];
    UIButton *aroundButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [aroundButton setFrame:CGRectMake(240, 369, 80, 48)];  
    [aroundButton setImage:aroundImage forState:UIControlStateNormal];
    [aroundButton setImage:aroundImageDown forState:UIControlStateHighlighted];
    [aroundButton setImage:aroundImageDown forState:UIControlStateSelected];
    [aroundButton addTarget:self action:@selector(aroundMe) forControlEvents:UIControlEventTouchUpInside];    
    [self.view addSubview:aroundButton]; 

Итак, теперь я установил рамку для кнопки, но что, если это приложение будет видно на iPhone4 в разрешении 640x960. Тогда у меня есть разные изображения "[email protected] и [email protected]", и они должны быть с другим CGRectMake, или они должны быть? Мой вопрос в том, как настроить кнопку для обоих разрешений и сделать это программно.


person Spire    schedule 09.02.2012    source источник
comment
нет проблем, независимо от размера, учитывая, что изображения автоматически настраиваются на сетчатке или простом дисплее iPhone. но убедитесь, что изображение двойного размера с @2x существует   -  person Hiren    schedule 09.02.2012
comment
так что мой код можно использовать для Iphone5›; А как насчет ответа @HChouhan02?   -  person Spire    schedule 09.02.2012
comment
он не понятен вопрос. и убедитесь, что это не iPhone 5. это разница в экране просто и сетчатка, как iPhone 2,3, 3G против iPhone 4, 4s   -  person Hiren    schedule 09.02.2012


Ответы (3)


это автоматически :) ios загрузит версию @2x, если она доступна и если устройство имеет масштаб x2. Кадр в точке, а не в пикселе.

Посмотрите здесь в баллах и пикселях.

person Beuj    schedule 09.02.2012
comment
Итак, вы говорите, что мой код в порядке. У меня есть изображения @2x, и мне нечего менять для iPhone5. - person Spire; 09.02.2012
comment
Арг, я не за айфон 5, я не вижу будущего :) - person Beuj; 09.02.2012
comment
я имел в виду iPhone4 запутался извините :) - person Spire; 09.02.2012

Если вы включите версию изображения с высоким разрешением с тем же именем, но с @2x перед расширением, iOS автоматически выберет правильное разрешение в соответствии с разрешением экрана, если вы используете функцию [UIImage imageNamed:] или установить образ в IB.

person Mudit Bajpai    schedule 09.02.2012

вы должны поставить условие, а затем в соответствии с размером экрана сделать рамку кнопки и дать им изображения.

person hchouhan02    schedule 09.02.2012