ビューをタップするとアプリにポップオーバーが表示され、そのポップオーバーにはナビゲーションコントローラーがあります。ビュー間を移動でき、データが正しく表示されます。しかし、最後のビューで行をタップすると、ポップオーバーが消えません (didSelectRowAtIndexPath が必要です)。
どうすればそれができますか?
この方法で試してみました。ポップオーバーを閉じるメソッドを作成し、このメソッドを didSelectRowAtIndexPath で呼び出しましたが、機能しませんでした。
これは、メインの ViewController のメソッドです
-(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];
}
このView Controllerでメソッドを作成します
-(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];
}
最後のビューで、ポップオーバーがそのビューに戻り、データ (チャート) を表示するようにしたい
ありがとう