我遇到了与iOS 8中的UIPopoverController重定位相关的错误。
在iOS 7中,我使用以下方法重新定位弹出窗口,如果键盘压缩了弹出窗口太多,顶部是放置它的更好的位置(弹出窗口包含UITableView):
在UIViewController的viewDidLoad中:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(p_keyboardHasChangedFrame:)
name:UIKeyboardDidChangeFrameNotification object:nil];
方法
- (void)p_keyboardHasChangedFrame:(NSNotification*)aNotification
{
if (self.pPopoverVC){
[self.pPopoverVC presentPopoverFromRect:self.pSmallView.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp|UIPopoverArrowDirectionDown
animated:NO];
}
}
但是出于某种奇怪的原因,它在iOS 8中不起作用