2013-06-19 4 views
0

Мне хотелось бы, чтобы фоновое изображение вида менялось каждый раз при его повороте. Изображение меняется, но когда поворот является горизонтальным, он отключает его, как если бы это было портретное изображение. Вот что я имею в виду: enter image description hereВлияние поворота на фоновое изображение

Эта ориентация горизонтальная, но изображение обрезано для портретных измерений. actual image подходит для горизонтальной ориентации.

Вот мой код:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
// called after rotation occurs 

if (fromInterfaceOrientation == UIInterfaceOrientationPortrait) { 
    // now horizontal 
    imageToLoad = [UIImage imageNamed:@"H0.png"]; 
} else { 
    // now portrait 
    imageToLoad = [UIImage imageNamed:@"P0.png"]; 
} 
UIGraphicsBeginImageContext(self.view.frame.size); 
[imageToLoad drawInRect:self.view.bounds]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

self.view.backgroundColor = [UIColor colorWithPatternImage:image]; 
} 

Как я мог решить эту проблему? Спасибо.

+0

Код выглядит прекрасно, если вы не делаете что-то странное до и после этого. :) Возможно ли это из-за кэшированного изображения, возможно, с неправильным именем, которое у вас было раньше? попробуйте очистить каталог сборки и посмотреть, поможет ли это. – nsuinteger

ответ

0

Зачем использовать цвет фона? Добавьте UIImageView с соответствующей маской и режимом авторезистировки.

+0

Раньше я использовал изображение для этой цели, и для его изменения по размеру существенно сложнее. – eulr

Смежные вопросы