Ios 键盘显示时定位UIPopoverPresentationController

Ios 键盘显示时定位UIPopoverPresentationController,ios,xamarin.ios,uipopovercontroller,Ios,Xamarin.ios,Uipopovercontroller,我正在从自定义UITableViewCell显示UIPopoverPresentationController。当用户点击单元格时,我们会弹出一个包含UIScrollView和一些可编辑字段的弹出窗口 sourceView设置为父控制器的视图,SourceRect设置为TableCell popoverPresentationController.SourceView = presentingViewController.View; popoverPresentationController.

我正在从自定义UITableViewCell显示UIPopoverPresentationController。当用户点击单元格时,我们会弹出一个包含UIScrollView和一些可编辑字段的弹出窗口

sourceView设置为父控制器的视图,SourceRect设置为TableCell

popoverPresentationController.SourceView = presentingViewController.View;
popoverPresentationController.PermittedArrowDirections = UIPopoverArrowDirection.Any;

var rectInTableView = containingTableView.RectForRowAtIndexPath(path);
var rectInSuperView = containingTableView.ConvertRectToView(rectInTableView, containingTableView.Superview);

// The "/2" on the Height of the SourceRect was so the PopOver appear half way into the cell rather than at it's bottom edge
popoverPresentationController.SourceRect = new CGRect(rectInSuperView.X, rectInSuperView.Y, rectInSuperView.Width, rectInSuperView.Height / 2);
在键盘出现之前,此操作可以正常工作。如果我没有听WillResposition委托,弹出窗口将动画移到视图的左上角

如果我尝试重新定位弹出窗口,则其动画高度仅为10像素左右

  • 我应该从外部视图而不是单元格管理Popover吗
  • 我应该如何重新定位
  • 我已经看过了