У меня есть UIViewController, который содержит подкласс UIView в качестве подпредставления. В подпредставлении я динамически создаю еще один 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];
В этом коде мне не хватает того, что заставляет всплывающее окно отклоняться от позиции, а не в желаемом месте.
Спасибо