2012-04-16 109 views
0

我有一個應用程序分爲四個視圖,當我點擊一個視圖時,該應用程序顯示一個彈出窗口,並且該彈出窗口有一個導航控制器。我可以在視圖之間導航,並且數據顯示正確。但是,當我在最後一個視圖中,並點擊一行時,彈出窗口不會消除(我想在didSelectRowAtIndexPath中)。如何使用導航控制器關閉彈出窗口?

怎麼辦?

我試過這種方式,我創建了一個方法,關閉彈出窗口,我調用這個方法en didSelectRowAtIndexPath,但沒有奏效。

這是

-(IBAction)mostrarTabla:(id)sender 
{ 
    // Popover that shows the table 
    UIPopoverController *popover; 

    // RootViewController is the first view 

    RootViewController *rootViewController = [[RootViewController alloc] init]; 
    // With a nav bar 
    UINavigationController *navBar = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
    [rootViewController release]; 

    // Popover customitation 
    navBar.contentSizeForViewInPopover = CGSizeMake(20.0f, 20.0f); 
    popover = [[UIPopoverController alloc] initWithContentViewController:navBar]; 
    [navBar release]; 
    popover.delegate = self; 
    popover.popoverContentSize = CGSizeMake(320.0f, 832.0f); 

    // PopOver is shows in the view 1 
    [popover presentPopoverFromRect:CGRectMake(100.0f, 10.0f, 20.0f, 20.0f) inView:_view1 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

我在此創建視圖控制器

-(void)hidePopover 
{ 
    [self.popOver dismissPopoverAnimated:YES]; 
} 

而且在我使用的方法的最後一個視圖的方法在主視圖控制器的方法,但沒有工作

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    ViewController *grafica = [[ViewController alloc] init]; 

    self.indicadorId = [[self.arrayId objectAtIndex:indexPath.row] integerValue]; 

    DataIndicador *datos =[[DataIndicador alloc] init]; 

    datos.idIndicador = self.indicadorId; 

    [datos release]; 


    [grafica hidePopover]; 
} 

在上一個視圖中,我希望彈出窗口返回到其視圖並顯示數據(圖表)

感謝

回答

0

的視圖控制器的畫報即時是不一樣的VieController的任何瞬間最初提出的酥料餅。