サブビューとしてUIViewサブクラスを含むUIViewControllerがあります。サブビューでは、別のUIViewを動的に作成します。最も内側のビューが作成されると、UIViewControllerは委任を介して、矢印の頭が最も内側のビューを指す必要があるUIPopovercontrollerを表示する必要があることを通知されます。デリゲートメソッドの呼び出しでは、UIViewcontrollerがこのCGPointを使用してポップオーバーコントローラーを作成できるように、最も内側のビューの原点も渡します。問題は、UIPopovercontrollerが目的の場所に配置されていないことです。
MyController* myController = [ [ MyController alloc] init];
UINavigationController *aNavController = [[UINavigationController alloc] initWithRootViewController: myController];
self.popOver = [[[UIPopoverController alloc]
initWithContentViewController:aNavController] autorelease];
[aNavController release];
CGRect rect;
//CGPoint p = CGPointMake(currentPage.frame.size.width/2, currentPage.frame.size.height/2);
rect.origin = point; //here point is the origin of the inner most view
rect.size = self.view.frame.size;
[self.popOver presentPopoverFromRect: rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
このコードに欠けているのは、ポップオーバーが目的の場所ではなく位置から外れているように見えることです。
ありがとう