2012-08-28 60 views
2

成爲一個障礙,希望在這裏得到一些見解。忽略MWPhotoBrowser視圖控制器模式在拆分視圖

概述:通用應用程序。 iPhone部分效果很好。 iPad部分有一個分割視圖控制器。主人是一個表格視圖(左側),用戶在其中選擇一行並顯示其詳細信息(右側)。相當標準的東西。

我使用Xcode版本4.4.1,我的項目使用核心數據,故事板和ARC。

DetailViewController:詳細信息是一個按鈕,用於根據日期自定義視圖顯示用戶註釋的另一個表視圖(詳細信息內)。每張筆記都可以有與之相關的圖像。如果一張筆記有一張圖像,則會顯示一個帶有照片圖標的按鈕。

示例屏幕截圖到這一點:

Example screenshot 1

MWPhotoBrowser:當照片圖標的按鈕被按下我請MWPhotoBrowser(美妙的庫來顯示一個標準的方式的圖像)來顯示圖像或圖像。單擊會顯示一個選定的圖像,雙擊會顯示當前桌面上的所有圖像,並選擇正在查看的圖像。圖像全屏顯示。

要顯示的圖片瀏覽器我用這個代碼:

// Create the browser view. 
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self]; 

// Set browser options. 
browser.wantsFullScreenLayout = YES; 
browser.displayActionButton = YES; 
[browser setInitialPageIndex:self.buttonRow]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:browser]; 

[self presentModalViewController:navController animated:YES]; 

的navController可以讓我有一個「完成」按鈕,它調用doneButtonPressed導航控制器。

期:以上所有方法都很好,直到我按下「完成」按鈕。全屏照片瀏覽器會正常關閉。不幸的是,用戶按下照片圖標按鈕的右側的桌面視圖現在消失了(黑色)。我認爲NotesViewController(右側)將在照片瀏覽器被模式解散後保留在那裏。在分割視圖中調用模型視圖控制器是否會導致其他視圖控制器被刪除?

實施例的屏幕截圖示出了問題:

enter image description here

詳細視圖控制器(右側)上的堆疊應DetailViewController> NotesViewController>然後調用MWPhotoBrowser模態。照片瀏覽器被駁回後,我self.navigationController.viewControllers.count等於1,我期待它爲2

下面是駁回MWPhotoBrowser代碼:

- (void)doneButtonPressed:(id)sender { 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 

    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
. 
. 
. 

希望有人可以幫我包我的頭在這附近。

一如既往,非常感謝任何幫助。謝謝!

回答

0

我在NoteViewController中解決了我的問題(在MWPhotoBrowser被解僱後,該區域變黑)。

在viewWillAppear我設置我的tableview爲零(防止細胞外裹)和重新加載我的表數據。

self.tableView = nil; 

[self.tableView reloadData]; 

也能正常工作爲iPhone和如果不是從iPad上的MWPhotoBrowser的全屏顯示返回。由於某些原因,我不明白,上面的代碼導致了這個問題。我添加了額外的邏輯來檢查我是否從全屏顯示返回,現在一切正常。如果時間允許,我會更多地考慮它。

相關問題