2011-04-11 50 views
1

因此,我的iPad應用程序中有一個viewcontroller。它有一個UIPopoverViewController,裏面有一個UITableView。我希望用戶能夠在tableView中選擇一行,然後rootViewController將關閉彈出窗口並推送一個新的viewController。提前致謝。從UIPopoverController中的UITableView行中推一個viewController

這是我到目前爲止已經試過:

在的UITableView類:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
WelcomeViewController *welcomeView = [[WelcomeViewController alloc] init]; 
welcomeView.whichDay = [daysOfTheWeek objectAtIndex:indexPath.row]; 
[welcomeView pushFromPopOver]; 

}

然後在RootViewController的:

-(void)pushFromPopOver{ 
    //PlannerPage *plannerPageViewController = [[[PlannerPage alloc] initWithNibName:@"PlannerPageiPad" bundle:nil] retain]; 

    [popover dismissPopoverAnimated:YES]; 
    [popover.delegate popoverControllerDidDismissPopover:popover]; 
    NSLog(@"%@",whichDay); 

    PlannerPage *plannerPageViewController = [[[PlannerPage alloc] initWithNibName:@"PlannerPageiPad" bundle:nil] retain]; 
    plannerPageViewController.dayOfTheWeekString = whichDay; 
    [self.navigationController pushViewController:plannerPageViewController animated:YES]; 

    //plannerPageViewController.dayOfTheWeekString = @""; 
    //[self.navigationController pushViewController:plannerPageViewController animated:YES]; 
    //[plannerPageViewController release]; 
    } 

的NSLog的是告訴我選擇了什麼,但popover不會消失,rootViewController將會n ot推

雖然也許使用委託,但我不知道如何。 在此先感謝。

+0

嗯...一般你不應該調用委託方法;這應該由popover本身來處理。 – FeifanZ 2011-04-11 00:55:02

回答

0

聽起來像NSNotificationCenter它是完美的,你需要什麼。你的根視圖控制器應該監聽一個NSNotification,你的彈出窗口應該發佈該通知。

相關問題