iPad에서 UIActivityViewController를 호출하면 충돌하는 현상의 대응

1446 단어 iOSObjective-CiPad

iPad에서 UIActivityViewController가 충돌함



iOS 앱에서 UIActivityViewController(OS 표준 공유 기능)를 호출할 때 iPad에서만 충돌하는 현상이 발생합니다.

오류 메시지는 다음과 같습니다.

Terminating app due to uncaught exception 'NSGenericException', reason: 'Your application has presented a UIActivityViewController (). In its current trait environment, the modalPresentationStyle of a UIActivityViewController with this style is UIModalPre controller's popoverPresentationController. You must provide either a sourceView and sourceRect or a barButtonItem. If this information is not known when you present the view controller, you may provide it in the UIPopoverPresentationControllerDelegate method

대처법



iPad의 경우 sourceViewsourceRect를 지정해야합니다.
UIActivityViewController *activityViewController = [[[UIActivityViewController alloc] initWithActivityItems:actItems applicationActivities:nil] autorelease];
activityViewController.popoverPresentationController.sourceView = self.view;
activityViewController.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 1.0, 1.0);

위의 코드는 충돌을 피하고 중간에 UIActivityViewController를 표시합니다.

좋은 웹페이지 즐겨찾기