【问题标题】:UINavigationBar is Moved Up After UIImagePickerControllerDidCancel?UIImagePickerControllerDidCancel 后 UINavigationBar 上移?
【发布时间】:2013-01-08 22:29:05
【问题描述】:

我有一个问题,我从 UINavigationController 模态呈现 UIImagePickerController 并且用户按下取消而不是拍照。我从 UIImagePickerControllerDidCancel 回调中关闭视图,但是当我返回上一个视图时,整个视图(包括导航栏)向上移动了几个像素。另一件非常奇怪的事情是,当我在该视图上选择一个文本字段时,键盘部分显示在屏幕外。这只发生在我的 iPhone 上(我将它呈现在 iPad 的弹出式控制器中,这没有问题)。

这是我的 didCancel 回调代码:

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
        [popoverController dismissPopoverAnimated:YES];  
    }
    else//for iPhone
    {   
        [picker dismissViewControllerAnimated:YES completion:nil];    
    }
}

有什么想法吗?

【问题讨论】:

    标签: iphone ios ipad uinavigationcontroller uiimagepickercontroller


    【解决方案1】:

    使用这一行:

    [self dismissViewControllerAnimated:YES completion:nil];
    

    代替这一行:

    [picker dismissViewControllerAnimated:YES completion:nil]; 
    

    【讨论】:

    • 这应该没什么区别。来自the docs:“如果您在呈现的视图控制器本身上调用此方法,它会自动将消息转发到呈现的视图控制器”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    相关资源
    最近更新 更多