У меня есть MenuViewController, который загружается при загрузке приложения; это корневое представление UINavigationController.
В представлении у меня есть кнопка UIB с изображением, которое загружается с URL-адреса, а также метка (это изображение, показывающее погоду и текущую температуру.).
Все работает нормально, но если я использую приложение на iPhone 4 с многозадачностью, когда нажимается кнопка «Домой», а затем приложение открывается, мне нужно изображение UIButton и темп. этикетка для перезагрузки.
Я пытался вызвать это в моем AppDelegate в applicationDidBecomeActive:
[self parseWeatherXML]; //re-parse weather data
[menuViewController reloadWeatherData]; //loads the image/label from the XML
без удачи.
Я также попытался освободить menuViewController в applicationWillResign, а затем перераспределить menuViewController в applicationDidBecomeActive, чтобы метод viewDidLoad вызывался снова, оба способа просто приводили к сбою моего приложения.
Любая помощь приветствуется!
EDIT
Вот мой метод, который вызывается с уведомлением:
- (void)reloadWeather
{
[self parseWeatherXML];
UIImage *img = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:iconURL]]];
if (img != nil)
{
NSLog(@"setting image");
[weatherButton setImage:img forState:normal];
img = nil;
}
currentTemp = [currentTemp stringByAppendingString:@"°F"];
[tempLabel setText:currentTemp];
tempLabel.adjustsFontSizeToFitWidth = YES;
if([self isIPad])
{
tempLabel.textAlignment = UITextAlignmentRight;
[tempLabel setFont: [UIFont systemFontOfSize: 45.0]];
}
currentTemp = nil;
}