UINavigationController から UIImagePickerController をモーダルに提示し、ユーザーが写真を撮る代わりにキャンセルを押すという問題があります。UIImagePickerControllerDidCancel コールバックからビューを閉じますが、前のビューに戻ると、ビュー全体 (ナビゲーション バーを含む) が数ピクセル上に移動します。もう 1 つの非常に奇妙な点は、そのビューでテキスト フィールドを選択すると、キーボードが部分的に画面外に表示されることです。これは私の iPhone でのみ発生します (私は iPad のポップオーバー コントローラーで表示しましたが、問題はありません)。
didCancel コールバックのコードは次のとおりです。
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
        [popoverController dismissPopoverAnimated:YES];  
    }
    else//for iPhone
    {   
        [picker dismissViewControllerAnimated:YES completion:nil];    
    }
}
何か案は?