#iphone
#iPhone
Вопрос:
Хорошо, итак, у меня есть этот код, который позволяет мне поместить фоновое изображение в:
Я хотел бы знать, как это изменить, чтобы на iPhone 4 я мог получить размер 320×480, но сделать его красивым с изображением 570.855.
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_stream-570x855.jpg"]];
Я пробовал это:
UIImageView *image = [[UIImageView alloc]
initWithImage:[UIImage imageNamed:@"background_stream-570x855.jpg"]];
[self.view sendSubviewToBack:streamBG];
image.frame = CGRectMake(0, 0, 320, 480);
Который работает, однако проблема в том, что он находится за представлением, поэтому я его не вижу. Я мог бы сделать вид понятным, но на нем есть объекты, которые необходимо отобразить.
Любая помощь была бы наиболее желательной
Комментарии:
1. [self.view sendSubviewToBack: streamBG]; должно быть [self.view sendSubviewToBack:изображение];
Ответ №1:
Существует несколько вариантов размещения просмотров в нужном месте.
[self.view sendSubviewToBack:streamBG]; //Sends subview to last position i.e. at the last
[self.view bringSubviewToFront:streamBG] //Brings subview to first position i.e. at the first.
[self.view insertSubview:streamBG atIndex:yourDesiredIndex];//Put at desired index.
Это не ответ на ваш вопрос, хотя это может помочь вам установить ваш imageview в нужное местоположение.
Надеюсь, это поможет.
Ответ №2:
Чтобы ответить на часть вашего вопроса о размере. Вам нужно использовать 2 разных изображения для вашего приложения, если вы хотите получить полное разрешение дисплея retina (iPhone4) Вы должны предоставить изображение размером 320×480 (т. Е. myImage.png) для старых iPhone и изображение с разрешением в два раза большим, 640×960, для iPhone 4. Используйте точно такое же имя для версии с высоким разрешением, но добавьте «@ 2x» в конец (т. Е. myImage@2x.png ). В вашем коде все, что вам нужно вызвать, это базовое имя (например, myImage.png), приложение выберет правильное изображение в зависимости от оборудования, на котором оно запущено. Это обеспечит вам наилучшее взаимодействие с вашим приложением.
Что касается другой части, касающейся видимости фонового вида, вы могли бы сделать цвет фона четким ( [UIColor clearColor]
) для вида, который его блокирует. Это оставило бы содержимое видимым в этом представлении, но само представление было бы понятным. В качестве альтернативы вы могли бы просто вставить фон по определенному индексу, как предложил @ Jennis, вместо того, чтобы переносить его обратно.