presentModalViewController : Animated는 ios6에서 더 이상 사용되지 않습니다.


101

이미지 선택기에 다음 코드를 사용하고 있습니다. 그러나 시뮬레이터에서 실행하면 메모리 누수가 발생하고 presentModalViewcontroller:animatediOS6에서 더 이상 사용되지 않는다는 경고가 표시 됩니다. 나는 또한 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];
}

답변:


216

이 줄을 사용하고 확인하십시오.

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

1
대신에 : [self presentModalViewController : imagePicker animated : YES];
Vishal

8
해제하려면 다음을 사용하십시오. [self dismissViewControllerAnimated : YES 완료 : nil];
Vishal

같은 메모리 누수 문제와 응용 프로그램을 얻는 것은 닫습니다

문제가 발생하는 곳은 어느 줄에서 발생합니까?
Vishal

이 오류 'UIApplicationInvalidInterfaceOrientation', 이유 : 'preferredInterfaceOrientationForPresentation은 지원되는 인터페이스 방향을 반환해야합니다!'
Ram

17
[[Picker presentingViewController] dismissViewControllerAnimated:YES completion:nil];

대신에

 [[Picker parentViewControl] dismissModalViewControllerAnimated:YES];

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

대신에

[self presentModalViewController:picker animated:YES];

2
이제 presentViewController가 있고 뷰 컨트롤러가 모달이어야한다고 지정하지 않습니까?
Septiadi 아구스

4

Vishal이 언급했듯이

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

"completion : nil"도 추가했는지 확인하십시오.


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

2

사용하다:

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

그리고 해고 모달 사용을 위해 :

[self dismissViewControllerAnimated:controller completion:nil];

또는

[self dismissViewControllerAnimated:YES completion:nil];
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.