我已向 UIMenuController 添加了自定义操作。单击该操作时,我希望弹出窗口类似于“定义”操作的工作方式(请参见下面的屏幕截图)。
但是,我无法让弹出框在 UIWebView 中正确定位。这是我的代码的摘录,当用户选择自定义操作时会生成弹出框:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
popover = [[UIPopoverController alloc]
initWithContentViewController:contentController];
[popover setDelegate:self];
popover.popoverContentSize = CGSizeMake(240., 60.);
UIMenuController *menuController = [UIMenuController sharedMenuController];
[popover presentPopoverFromRect:menuController.menuFrame
inView:webView
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
这是设备处于纵向模式时的结果:
如您所见,这还不错,但我无法使其与所选文本完全对齐;在横向模式下,弹出框的位置甚至不接近。
有谁知道我如何将弹出框正确定位到所选文本,并在用户旋转设备时正确定位?SDK 版本为 iOS 6.1。