我已經實施了MGSplitViewController其中我在masterviewcontroller 6行和每一個加載新的UIViewController到detailviewcontroller - 我按照使用多個細節視圖控制器蘋果示例項目。但是我有一些奇怪的問題。MGSplitViewController與多個詳細視圖控制器
首先,在初始負荷第一選定detailviewcontroller顯示完美。然而,當我在masterviewcontroller選擇不同的行改變被選擇的行詳細信息視圖控制器,但detailviewcontroller不會改變 - 這將繼續在這樣幾個點擊 - 然後一切工作正常。
好差不多了,現在當新detailviewcontroller實際負載有時意見成爲覆蓋。例如,如果我首先用tableview選擇一個detailviewcontroller,然後選擇一個只包含一些按鈕的按鈕 - 按鈕會出現在tableview上。如果有人能夠理解我做錯了什麼,請告訴我。這是我做過的selectrow方法。
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
/*
Create and configure a new detail view controller appropriate for the selection.
*/
switch (indexPath.row) {
case 1:
{
self.splitViewController.detailViewController = self.postViewController;
// popover = [[UIPopoverController alloc] initWithContentViewController:self.postViewController];
// [popover presentPopoverFromRect:CGRectMake(200, 0, 100, 100)
// inView:self.splitViewController.view
// permittedArrowDirections:UIPopoverArrowDirectionAny
// animated:YES];
break;
}
case 2:
self.splitViewController.detailViewController = self.latestViewController;
break;
case 3:
self.splitViewController.detailViewController = self.categoriesViewController;
break;
case 4:
self.splitViewController.detailViewController = self.messagesViewController;
break;
case 5:
self.splitViewController.detailViewController = self.searchViewController;
break;
case 6:
self.splitViewController.detailViewController = self.accountViewController;
break;
default:
break;
}
}
我想你並沒有在你的應用中使用ARC。你不想在分配一個新視圖之前從超級視圖中刪除以前的detailViewController嗎?所有detailViewControllers的屬性是什麼? – 2012-01-08 20:34:16
對不起,我正在使用ARC。我將如何刪除它們?我試圖設置它們爲零,但得到一個編譯器錯誤。所有的detailViewControllers都是UINavigationControllers(非原子,強大)。 – xizor 2012-01-10 14:58:04
不,與ARC你不需要將他們釋放,但分配新的DetailView之前,你可以嘗試像'如果(self.splitViewController.detailViewController)self.splitViewController.detailViewController.view removeFromSuperview]' – 2012-01-10 15:26:57