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

时间:2011-03-25 04:05:28

标签: ios ipad uipopovercontroller

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

任何想法如何让它重新调整回原点?

1 个答案:

答案 0 :(得分:7)

最近我自己有这个问题。

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

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentSearchPopover) name:UIKeyboardDidHideNotification object:nil];

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

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

    [self.searchPopoverController presentPopoverFromRect:someRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

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

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

    [super dealloc];
}