Изменение фонового изображения UIImage, добавленного в UInavigation Controller - PullRequest
0 голосов
/ 10 декабря 2011

Я создал UIView, добавил ImageView, который UIView как подпредставление, и добавил мой uiview в контроллер навигации. вот мой код для этого: -

UIView* VwTopHdr=[[UIView alloc]initWithFrame:CGRectMake(0,0.3, 1024, 122)];

header_bgimageview =[[UIImageView alloc]initWithFrame:CGRectMake(0,0.3, 1024, 122)]; 

header_bgimageview.image=[UIImage imageNamed:@"headerBack.png"];

[VwTopHdr addSubview:header_bgimageview];
[header_bgimageview release];

[self.navigationController.view addSubview:VwTopHdr];

Теперь я хочу изменить фоновое изображение "header_bgimageview" во время выполнения руны в зависимости от условий моего кода. Здесь я пишу код для изменения изображения: -

header_bgimageview.image=[UIImage imageNamed:@"Differntimage.png"];

Но я не могу изменить фоновое изображение, используя вышеуказанную строку кода. Что мне нужно сделать, это удалить мой UIView из создания контроллера навигации снова и добавлен на контроллере навигации.

Почему я не могу изменить изображение напрямую, вместо того, чтобы снова создать и добавить свой вид на контроллер. Как я могу изменить изображение напрямую?

Ожидаем вашего положительного ответа.

1 Ответ

0 голосов
/ 15 декабря 2011

Попробуйте, это в основном сделает недействительным представление

[VwTopHdr setNeedsDisplay];

Справочная документация по классам в UIView:

setNeedsDisplay

Помечает весь прямоугольник границ получателя как подлежащий перерисовке. - (void) setNeedsDisplay

...