1

hiding buttons 이것은 나에게 버그처럼 보입니다. 그러나 누군가 해결 방법을 생각할 수 있습니까?UIBarButton UIToolbar의 항목 UIActivityViewController를 표시 할 때 숨기기

기본적으로 UIToolbar 사용자 정의가있는 경우 UIActivityViewController을 표시하면 해당 버튼 항목이 자동으로 숨겨져 사라지고 다시 표시됩니다. 이것은 iPhone에만 해당됩니다. UIActivityViewController는 전체 화면을 숨기지 않고 흐리게 표시되는 화면 뒤에서 단추가 사라지는 것을 이상하게 보입니다.

복제하려면 단일 뷰 프로젝트를 시작하고 뷰 컨트롤러에 다음 코드를 사용

- (void)viewDidLoad { 
    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 40)]; 
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(didTapAction)]; 
    toolbar.items = [NSArray arrayWithObject:button]; 
    [self.view addSubview:toolbar]; 
} 

- (void)didTapAction { 
    NSArray *items = [NSArray arrayWithObjects:@"Text", nil]; 
    UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil]; 
    [self presentViewController:sharing animated:YES completion:nil]; 
} 
+0

당신의 버튼을 글로블러로 diclear해야하고 UIActivityViewController를 표시 할 때 button.hidden = True로 숨기면 button.hidden = False가됩니다. –

+0

나는 버튼을 숨기려고하지 않고 자동으로 숨어 있습니다. UIActivityViewController를 표시 할 때 발생하는 부작용입니다. 나는 그들이 숨기길 원치 않는다. – dizy

+0

이 링크를 사용해보십시오. 도움이 될 것입니다 .... 1. http://stackoverflow.com/questions/2971483/hide-uitoolbar-uibarbuttonitems 2. http://stackoverflow.com/questions/276861/how-can-i -dynamically-hide-a-button-from-a-view 3. https://developer.apple.com/library/ios/#documentation/uikit/reference/UIToolbar_Class/Reference/Reference.html –

답변

0

는 해결 방법을 발견. 프리젠 테이션 전에 모든 항목을 제거하고 바로 뒤에 추가하십시오.

- (void)didTapAction { 
    NSArray *items = [NSArray arrayWithObjects:@"Text", nil]; 
    UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil]; 
    NSArray *barItems = toolbar.items; 
    toolbar.items = nil; 
    [self.navigationController presentViewController:sharing animated:YES completion:nil]; 
    toolbar.items = barItems; 
} 
+0

나는 이것이 낡은 대답이라는 것을 알고 있지만이 간단한 작은 해킹에 대해 당신에게 감사 드리고 싶습니다. 참 이상한 문제 .... – JiuJitsuCoder

0

는 대한 꽤 오래된 스레드 알고 있지만 솔루션이 페이지를 보는 사람은, 여기 당신은 간다 :

:

iOS7에와

, 당신은/표시 도구 모음 단추를 숨기려면이 방법을 사용할 수 있습니다

if(// your code Condition) 

{self.toolbarBtn1.enabled = YES; self.toolbarBtn1.tintColor = nil; } else {self.toolbarBtn1.enabled = NO; self.toolbarBtn1.tintColor = [UIColor clearColor]; }