6

背景

我需要从具有搜索字段的图像视图(矩形而不是 barbutton)中显示弹出框。弹出框需要从 UIModalPresentationFormSheet 呈现。这已成功实现

问题

我面临的问题(在横向模式下)是当显示键盘时,模态表单向上移动并随之移动我的弹出框框架。因此弹出框保持在其原始位置(在显示键盘之前)并呈现rect 向上移动。我应用的解决方案是从更改的矩形中表示(using presentPopoverFromRect)弹出框并在中执行相同的操作。这工作正常,但过渡非常快速和有弹性。那么,我怎样才能实现平稳过渡呢?-(void)didShowKeyBoard:(NSNotification*) notif-(void)didhideKeyBoard:(NSNotification*) notif

我试过的

我试过了 :

[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:5.0f];
[_statePopover presentPopoverFromRect:stateHandler.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
[UIView commitAnimations];

但它没有用。

有人可以指导我正确的做法吗?
非常感谢任何帮助。

4

1 回答 1

1

那么这部分解决了我的问题。我使用了一个调度来延迟弹出窗口的演示。它如下所示:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_USEC), dispatch_get_current_queue(), ^{
    [_statePopover presentPopoverFromRect:statehandler.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
});

当我的键盘被关闭但相同的代码段无法在显示键盘时提供所需的结果时,这将按要求工作。

如果有人碰巧知道为什么会这样,请发表评论。谢谢!

于 2013-06-04T07:51:10.960 回答