2013-04-15 2 views
2

이미지를 내보내기하려고합니다. UIActivityViewController Instagram 또는 다른 사진 편집 응용 프로그램과 같은 응용 프로그램을 추가하는 방법이 궁금합니다.UIActivityViewController 및 사용자 정의 응용 프로그램

- (IBAction)share:(id)sender { 

    NSArray* dataToShare = @[_image.image]; 
    UIActivityViewController* activityViewController = 
    [[UIActivityViewController alloc] initWithActivityItems:dataToShare 
             applicationActivities:nil]; 
    [self presentViewController:activityViewController animated:YES completion:nil]; 

} 
+1

http://www.absoluteripple.com/1/post/2012/10/activity-view-controller.html – Rushabh

답변

3

applicationActivities 매개 변수를 사용하고 추가 사용자 지정 활동을 전달해야합니다.

내가 내 앱에서 수행하는 작업은 하나의 '공개 대상'사용자 정의 UIActivity을 만드는 것입니다. 사용자가 해당 활동을 선택하면 UIDocumentInteractionController을 사용하여 표준 "열기"메뉴를 표시합니다. 이렇게하면 iOS에서 이미지를 열 수있는 앱을 표시 할 수 있습니다.

또 다른 옵션은 지원하려는 특정 앱마다 하나씩 여러 개의 맞춤 활동을 추가 할 수 있다는 것입니다.

iOS 6.0이 출시 된 직후, Apple에 활동보기에서 "열기"유형의 기능을 직접 지원하기위한 개선 요청서를 제출했습니다.

+1

당신이 그것을 명확하게하시기 바랍니다 것입니다 몇 가지 예제 코드를? – Momi

+1

모든 것을 보여주기 위해서는 페이지가 필요합니다. 내 대답은 당신을 올바른 방향으로 인도하기위한 것입니다. 'UIActivity'와'UIActivityViewController'에 대한 문서부터 시작하십시오. 자신 만의 맞춤 활동을 만드는 방법에 대해 논의합니다. – rmaddy

1

이 블로그를 확인하십시오. post. 간단히 말해 액티비티 뷰 컨트롤러에 표시 할 추가 앱 각각에 대해 UIActivity를 서브 클래스 화하고 인스턴스를 매개 변수 applicationActivities:의 NSArray로 전달해야한다.

UIActivity 서브 클래스와 관련된 애플의 문서에서 발췌 :

서브 클래스 노트 사용하기 전에이 클래스를 서브 클래스 화해

. 활동 객체의 작업은 iOS가 제공 할 수있는 메타 정보를 사용자에게 제공하는 것입니다. 좀 더 복잡한 서비스의 경우, 액티비티 객체는 커스텀 사용자 인터페이스를 디스플레이하여이를 사용하여 사용자로부터 추가 정보를 수집 할 수 있습니다.

방법

는 서브 클래스 때

, 당신은 항상 다음과 같은 방법을 오버라이드 (override) 할 필요가 오버라이드 (override) 서비스에 대한 정보를 제공하는 데 사용할 수 있습니다 :

activityType

activityTitle

activityImage

canPerformWithActivityItem S :

prepareWithActivityItems :

+0

블로그 게시물 링크가 깨졌습니다 –

+0

@optme 링크가 수정되었습니다. – filwag