запущено приложение ios4.2 на симуляторе в порядке, на устройствах пустое представление NIB - PullRequest
0 голосов
/ 09 февраля 2011

Я разработал приложение для 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];
}

1 Ответ

1 голос
/ 10 февраля 2011

Проблема в линии

ProgrammeViewController *programmeViewController = 
  [ProgrammeViewController alloc];

Если вы загружаете его из файла NIB, это должно быть что-то вроде

ProgrammeViewController *programmeViewController = 
  [[ProgrammeViewController alloc] initWithNibName:@"MyNibName" bundle:nil];

«MyNibName» должно быть именем файла пера без расширения файла .xib. Убедитесь, что файл nib включен в сборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...