ARC 환경에서 UIPopoverController 사용법 참고 사항
UIViewController *viewTwo;
viewTwo = [[ViewTwo alloc] initWithNibName:@"ViewTwo" bundle:nil];
UIPopoverController *popover;
popover = [[UIPopoverController alloc] initWithContentViewController:viewTwo];
[popover presentPopoverFromRect:[theButton bounds]
inView:theButton
permittedArrowDirections:UIPopoverArrowDirectionLeft
animated:NO];
결과는crash입니다. ARC 환경에서popover는 그 역할 영역에서 유효하고, 그 역할 영역이 나오면 컴파일러가 추가한release에서 메모리를 방출합니다.현재 popup은 디스플레이 기간이고 controller가 회수되었기 때문에crash가 나타납니다.xcode의console에서crash의reason에 설명이 있습니다.
따라서 ARC 환경에서 올바른 방법은 Popover의 생명 주기를 유지하는 것이다.popover를strong 형식의 구성원 변수나 속성으로 만듭니다.UIPopoverController dismiss 메시지가 표시되면 Popover = nil이렇게 하면 정상적으로 사용할 수 있다.예:
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
popover = nil;
}
그리고 아이패드에서 UIImagePicker Controller를 사용할 때 주의해야 할 것은 이 아이패드의 소스타입이 UIImagePicker Controller SourceType Camera라면 [self]
presentModalViewController:vc animated:Yes];의 방법은 UIImagePicker Controller의view를 사진에 표시하는 것입니다. 만약 소스 Type이 UIImagePicker Controller SourceType SavedPhotos Album 사진이 선택한 UIImagePicker Controller라면 UIImagePicker Controller를 UIPopover Controller에 놓아야만 정상적으로 보일 수 있습니다.이것은 아이패드 아래의 규칙입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Create an Empty Application step in XCode 4 (create and associate the xib view file)1. Create new project in Xcode 4.2 beta and choose “Empty Application” template 2. Add “New File” to the project by choo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.