键盘消失后,UIPopoverController的视图控制器会调整大小

rah*_*eel 3 ipad uipopovercontroller ios

我有一个视图控制器UIPopoverController.当我为属于弹出窗口中的视图的文本字段打开键盘时,视图会调整大小以适应键盘.但是,当键盘被解除时,视图不会恢复到原始大小.

任何想法如何让它重新调整到原来的大小?

Ins*_*ame 7

最近我自己有这个问题.

我绕过它的方法是观察键盘在控制器中消失,控制器控制UIPopoverController:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentSearchPopover) name:UIKeyboardDidHideNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

然后-presentSearchPopover,再次呈现UIPopoverController(这是一个非常无缝的过渡):

- (void)presentSearchPopover
{
    self.searchPopoverController.popoverContentSize = CGSizeMake(width, height);

    [self.searchPopoverController presentPopoverFromRect:someRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

不要忘记删除观察者-dealloc或类似观察者:

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidHideNotification object:nil];

    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)