presentModalViewController: анимация устарела в ios6


Я использую следующий код для выбора изображения. Но когда я запускаю его в симуляторе, у меня есть утечка памяти, и я получаю предупреждение о presentModalViewcontroller:animated является устаревшим в iOS6. Я тоже получаю dismissModalViewController:animated устаревшие. Я использую SDK 6.1.

код для ImagePicker:

- (void)showAlbum:(id)sender { 
    imagePicker=[[UIImagePickerController alloc]init];
    imagePicker.delegate = self;
    imagePicker.allowsEditing =NO;
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagePicker animated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    //release picker
    [picker dismissModalViewControllerAnimated:YES];
}
5 94

5 ответов:

используйте эту строку и проверьте:

[self presentViewController:imagePicker animated:YES completion:nil];
[[Picker presentingViewController] dismissViewControllerAnimated:YES completion:nil];

вместо

 [[Picker parentViewControl] dismissModalViewControllerAnimated:YES];

и

[self presentViewController:picker animated:YES completion:nil];

вместо

[self presentModalViewController:picker animated:YES];

Как отметил Вишал

[self presentViewController:imagePicker animated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];

убедитесь, что вы добавили "завершение:ноль", а также

if ([self respondsToSelector:@selector(presentViewController:animated:completion:)])
{
    [self presentViewController:objSignupViewController animated:^{} completion:nil];
}
else
{
    [self presentModalViewController:objSignupViewController animated:YES];
}

использование:

[self presentViewController:imagePicker animated:YES completion:nil];

а затем для вашего увольнения модальное использование:

[self dismissViewControllerAnimated:controller completion:nil];

или

[self dismissViewControllerAnimated:YES completion:nil];