2013-04-26 3 views
1

UIActivityController에 사용자 정의 UIActivity을 추가하려고합니다. 항목을 클릭하면 원하는보기 컨트롤러가 표시되지만 해당보기 컨트롤러로 끝나면 원래 UIActivityViewController이 여전히 나타납니다. 내 질문은, 어떻게 그리고 어디에서 활동보기 컨트롤러를 무시합니까? 이것은 내 사용자 정의 UIActivity의 코드입니다. 거기 때 아직,UIActivityViewController가 닫히지 않음

- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems{ 
    self.activityTitle = @"Text Editor"; 
    self.activityType = @"TextEdit"; 
    self.activityImage = [UIImage imageNamed:@"Icon.png"]; 
    if (activityItems) return YES; 
    else return NO; 
} 

- (void)prepareWithActivityItems:(NSArray *)activityItems{ 
    for (NSString *path in activityItems) { 
     if ([path lastPathComponent]) { 
      self.file = path; 
     } 
    } 
} 

- (UIViewController *)activityViewController{ 
    ACTextEditController *actec = [[ACTextEditController alloc] initWithFile:_file]; 
    return actec; 
} 

편집

나는이 일을 시도했습니다, 나는 내가 뭔가를 기록하려하기 때문이라고 알고는

- (void)activityDidFinish:(BOOL)completed{ 
    if (completed) { 
     [self.activityViewController dismissViewControllerAnimated:YES completion:nil]; 
    } 
} 

그러나

를 불렀다 컨트롤러보기를 닫습니다. 왜? 우리가 activityDidFinish:를 호출하여 결국

http://www.apeth.com/iOSBook/ch26.html#_activity_view

주의 사항 :

+0

좀 더 특이 할 수 있습니까? 또는 질문을 다시 그리기? 나는 네가 필요한 것을 이해하지 못했다. –

+0

문제는 'UIActivity' 객체가 제공 한 뷰 컨트롤러를 닫은 후에도 원래 메뉴 ('UIActivityViewController')가 여전히 표시된다는 것입니다. 취소를 클릭하여 취소 할 수도 있지만 이미 해산되기를 바랍니다. –

+0

iPad에 있나요? 자신의'activityViewController'를 제공 할 때 iPad에 UIActivityViewController가있는 거대한 버그가 있습니다. – matt

답변

2

다음은 작업 예입니다. 그것이 원래 인터페이스를 왜곡시킵니다. 그것은 당신이 생략하고있는 단계 일 수 있습니다. 그렇지 않다면, 내가하고있는 일이 iPhone에서 작동하기 때문에 내가하고있는 일과 자신이하는 일을 비교하십시오.

+0

내 편집을 확인하십시오, 아직 작동하지 않습니다. –

+2

당신이 말한대로하지 않기 때문입니다. – matt

+0

내가 지적한 장을 읽었습니까? "activityViewController'를 표시하거나 해제하는 것은 우리의 일이 아니며, 액티비티 인스턴스의'activityDidFinish'를 호출하면 모든 것이 해체됩니다. 예제 코드를 보면 알 수 있습니다. 정확히 무엇을해야할 지 보여줍니다. – matt