【发布时间】:2015-04-20 06:06:46
【问题描述】:
我的应用程序是基于标签栏的应用程序。我必须提供一个选项,用户可以在个人资料编辑屏幕中更改他的个人资料图片。为此,当用户单击编辑栏按钮时,我正在从个人资料屏幕推送个人资料编辑屏幕。
UITabBarViewController --> UINavigationController -->ProfileView (UIViewController) --Push--> ProfileEditView(static UITableViewController)
我正在使用下面的代码展示UIImagePickerController
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.allowsEditing = YES;
// imagePicker.modalPresentationStyle = UIModalPresentationOverCurrentContext; (when i use this TabBar hiding cancel and chose buttons)
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:imagePicker animated:YES completion:nil];
和委托方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
profileImage = info[UIImagePickerControllerEditedImage];
[_choseProfilePicButton setBackgroundImage:profileImage forState:UIControlStateNormal];
if ([picker isKindOfClass:[UIImagePickerController class]])
{
[picker dismissViewControllerAnimated:YES completion:nil];
}
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissViewControllerAnimated:YES completion:nil];
}
当我尝试选择图像并单击选择图像时,当前视图返回到配置文件屏幕(配置文件屏幕--推送--> 配置文件编辑视图--> 呈现 imagePicker 控制器--> 选择图像--> 回到配置文件屏幕)。选择父视图后将关闭而不是图像选择器控制器。选择图像后需要关闭图像选择器控制器并保持在同一屏幕上。请帮助我解决这个问题....
谢谢,
拉基。
【问题讨论】:
-
你可以试试这个
NSLog(@"%@",NSStringFromClass([picker class]));你可以检查if [picker isKindOfClass:[UIImagePickerController class]]然后关闭。 -
我也试过了...更新了我的问题请看看...
标签: ios objective-c uitabbarcontroller uiimagepickercontroller