0

SplitView的我的DetailView具有帶註釋的映射。在單擊一個Annotation時,整個窗口(而不僅僅是DetailView)應該轉到另一個視圖。不幸的是,這是行不通的。使得可以從SplitView的DetailViewController訪問AppDelegate的導航控制器

這是我如何在我的AppDelegate創造我NavigationController

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController]; 
[self.window addSubview:navigationController.view]; 

這是我如何創建SPLITVIEW

left = [[MapSplitViewLeft alloc] initWithStyle:UITableViewStylePlain]; 
right = [[MapViewController alloc] init]; 

splitViewController = [[UISplitViewController alloc] init]; 
splitViewController.viewControllers = [NSArray arrayWithObjects:left,right, nil]; 

self.view = splitViewController.view; 

left.right = right; 

[left release]; 
[right release]; 

而這對一個註釋點擊時什麼東西被稱爲:

- (void)showDetails:(id)sender { 

NSLog(@"Yes it works"); 

VenueViewController *vviewcontroller = [[VenueViewController alloc] 
initWithNibName:@"VenueViewController" bundle:[NSBundle mainBundle]]; 

AppDelegate *del = (AppDelegate *)[UIApplication sharedApplication].delegate; 
[del.navigationController pushViewController:vviewcontroller animated:YES]; 

} 

當我點擊註釋我只會得到「是的,它的作品」,但沒有事情正在發生。 非常感謝您的任何建議。

回答

0

每個UIViewController都有屬性「navigationController」。嘗試使用當前的ViewController推送新的Viewcontroller。

[self.navigationController pushViewController:vviewcontroller animated:YES]; 

編輯:對不起,你指的是整個窗口!我認爲這是行不通的。

EDIT2:也許這個回答可以幫助你how to add a view over window in uiviewcontroller但我認爲,多數民衆贊成這種觀點是不是在你的navigationController-Stack的

+0

感謝您的答覆。我在我的應用程序中使用我的分割控制器作爲第二個視圖,並且我剛剛在某處看到蘋果不允許這樣做,顯然它始終必須位於應用程序的根目錄。因此使用主導航控制器很困難。 – user1104325 2012-01-27 16:43:17