2011-04-12 114 views
-3

我有一個彈出窗口,它載入一個導航控制器,它顯示了ItemsView xib,並且我有一個委託方法,所以這個彈出窗口可以從主視圖控制器中消除。這工作得很好,直到我鑽入UITableView(加載詳細視圖)的下一級。一旦細節視圖被加載,我不能在主視圖控制器上調用dismiss方法。我對代表們很新穎,希望得到任何指導。謝謝!調用UIPopover的委託方法

的MainView ---> ItemsView ----->的DetailView

如何調用位於距離的MainView代表的DetailView方法?

//Load the popover with first view: 

    ItemsView *popoverView = [[ItemsView alloc] init]; 

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

self.popOverController = [[[UIPopoverController alloc] initWithContentViewController:navController] autorelease]; 

popoverView.delegate = self; 

[navController release]; 

[popOverController setPopoverContentSize:CGSizeMake(450.0, 300.0)]; 
[popOverController presentPopoverFromRect:addButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

[popoverView release]; 

現在我推細節視圖:

//Push DetailView 

    if(self.secondView == nil) { 

    NSLog(@"Called"); 

    AddDetail *viewController = [[AddDetail alloc] initWithNibName:@"AddDetail" bundle:nil]; 

    self.secondView = viewController; 

    [viewController release]; 

} 

// Setup the animation 

secondView.contentSizeForViewInPopover = self.view.bounds.size; 
self.contentSizeForViewInPopover = self.view.bounds.size; 

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


} 

回答

2

寫在詳細視圖中的屬性和方法等如下。

  • 屬性爲ID myParent
  • 方法(無效)的setParent:父{myParent =母體;}

同時推detailviewcontroller調用此方法如。

  • [detailViewcontroller setParent:self];

現在你可以調用父聲明的方法

  • [myParent yourMethodName]

希望這有助於

+1

工作就像一個魅力。謝謝你爲我解決這個謎團! – 2011-04-12 10:41:01

+0

我很高興它爲你工作。 – 2011-04-12 12:08:19