Я разработал приложение для iphone в xcode 3.2.5. Как вы знаете, эта версия xcode поставляется только с SDK для 4.2. Во время тестирования приложения я установил активный исполняемый файл на iPad Simulator 3.2., Когда этот исполняемый файл запущен, одно из представлений в приложении полностью пустое (белое), хотя панель навигации UINavigationController все еще видна.
Это пустое представление является единственным, загруженным из файла NIB, остальные (рабочие) представления генерируются программно.
Я установил цель развертывания IOS на ios 3.2 в настройках сборки.
Есть ли причина моей проблемы? Мой вид довольно прост, несколько кнопок, метки и UIWebView.
Редактировать: представление было построено в IB. FWIW есть несколько изображений в представлении также
Обновление: с тех пор я запускаю приложение на устройствах (iPad 4.2 и iPhone 3.1) с той же проблемой, этот конкретный вид отображается белым.
в ответ на комментарии;
В IB я установил класс владельца файла в качестве моего контроллера представления, затем установил представление viewcontroller в качестве корневого представления (в данном случае UIScrollView), соединив точку с UIScrollView.
У меня нет метода init для контроллера представления, ниже приведен метод viewdidload.
- (void)viewDidLoad{
[super viewDidLoad];
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil];
self.navigationItem.rightBarButtonItem = addButton;
self.navigationItem.title=[programme CAOCode];
[addButton release];
NSMutableString *subTitle=[NSMutableString stringWithString:[programme CAOCode]];
[subTitle appendString:@" "];
[subTitle appendString:[programme AwardType]];
[subTitle appendString:@" in"];
[subtitle setText:subTitle];
[maintitle setText:[programme Title]];
btnCurrentTab=aboutThisProgramme; // this is startup active tab
[details loadHTMLString:[self GetOverViewHTML] baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];
}
Наконец, это код, который создает проблемный контроллер (из tableviewcontroller)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Create and push a detail view controller.
ProgrammeViewController *programmeViewController = [ProgrammeViewController alloc];
Programme *selectedProg = (Programme *)[[self fetchedResultsController] objectAtIndexPath:indexPath];
// Pass the selected course to the new view controller.
programmeViewController.programme = selectedProg;
[self.navigationController pushViewController:programmeViewController animated:YES];
[programmeViewController release];
}