WhatsApp是如何让UIImagePickerController进入导航控制器堆栈的?

时间:2014-05-10 10:50:34

标签: ios uinavigationcontroller uiimagepickercontroller whatsapp

有没有人知道如何:

  1. ... WhatsApp能够将UIImagePickerController推送到导航控制器堆栈,如启动WhatsApp>所示。设置>聊天设置>背景>图片库。
  2. ... WhatsApp能够如此快速地加载Photo Libray。当我加载它时,它会在显示之前挂起几秒钟。
  3. 非常感谢任何帮助。

    以下是我到目前为止所提出的建议。它远非理想。它仍然显示右上方的取消按钮,它不能总是找到一个topViewController,同样的延迟是显而易见的(通过呈现视图控制器的默认方法也是如此)

    if (!_imagePickerController)
    {
        _imagePickerController = [[UIImagePickerController alloc] init];
        [_imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
        [_imagePickerController setMediaTypes:@[(NSString *)kUTTypeImage]];
        [_imagePickerController setDelegate:self];
        [_imagePickerController viewWillAppear:YES];
        [_imagePickerController viewDidAppear:YES];
    }
    
    [self.navigationController pushViewController:_imagePickerController.topViewController animated:YES];
    

1 个答案:

答案 0 :(得分:1)

它可能使用在Assets Library Framework之上实现的自己的照片选择器。这样做的缺点是你必须编写自己的代码来解析和显示库,但是,你可以完全控制外观。