我正在一個IOS應用程序,並已被這個問題困擾了大約一個星期,現在無法找到解決方案。任何幫助你可以提供將不勝感激。這是我的設置:IOS莫代爾視圖控制器呈現黑色屏幕
- 我有一個標籤欄控制器。
- 我有一個TableViewController,它有一個導航欄,導航條目「添加」。
- 按下「添加」選擇器後,我模態地呈現另一個viewController,它有一個選擇器。
- 我正在使用核心數據。
當第二個視圖控制器被模態地呈現時,它會出現一個帶有導航欄的黑色屏幕。如果我從一個不相關的屏幕模態地訪問第二個視圖控制器,它會在沒有導航欄的情況下正常顯示。
沒有記錄錯誤消息,甚至沒有當您按導航欄上的「保存」時未保存該對象。但是,按下「保存」會將您帶回到TableViewController,它看起來像添加了實體。
這裏是我的TableViewController代碼:
- (void)add:(id)sender {
SecondViewController *addController = [[SecondViewController alloc] init];
addController.delegate = self;
Entity *newEntity = [NSEntityDescription insertNewObjectForEntityForName:@"Entity" inManagedObjectContext:self.managedObjectContext];
addController.entity = newEntity;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addController];
[self.navigationController presentModalViewController:navController animated:YES];
}
- (void)secondViewController:(SecondViewController *)secondViewController didAddEntity:(Entity *)entity {
if (entity) {
[self showEntity:entity animated:NO];
}
[self dismissModalViewControllerAnimated:YES];
}
- (void)showEntity:(Entity *)entity animated:(BOOL)animated {
EntityDetailTableViewController *detailViewController = [[EntityDetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
detailViewController.entity = entity;
[self.navigationController pushViewController:detailViewController animated:animated];
}
這裏是我的第二個視圖控制器代碼:
- (void) save {
entity.attribute = attributeTextField.text;
NSError *error = nil;
if (![entity.managedObjectContext save:&error])
{
NSLog(@"Problem saving attribute: %@", [error localizedDescription]);
}
NSLog(@"saveAttribute");
[self.delegate secondViewController:self didAddEntity:entity];
}
在哪裏何去何從將是真正有用的任何建議。
當我嘗試initWithNib:我得到終止應用程序的錯誤信息」由於未捕獲的異常‘NSInternalInconsistencyException’,原因是:‘在包無法加載NIB’我想這是因爲我用故事板 – PopUp 2012-01-11 04:30:12
更新:我嘗試添加另一個視圖控制器,它只有一個textField,並將其替換爲具有選擇器的視圖控制器,並且仍然遇到相同的黑屏。是否有人知道用不同的方法來初始化第二個視圖控制器以模態方式使用Storyboard?這似乎是問題 – PopUp 2012-01-11 14:58:30
只需在故事板中使用Segue,從任何操作觸發拖動即可觸發模式出現,例如從按鈕或表格單元格到mo達爾視圖控制器。 – agilityvision 2012-01-11 16:07:54