0

앱 컨트롤러에서보기 컨트롤러 (aVC라고 함)를 재사용하려고합니다. 모달 프레젠테이션이나 navigationController의보기 컨트롤러로 aVC를 표시 할 수 있습니다.보기 컨트롤러가 표시되는 방식에 따라 left/rightBarButtonItem 숨기기

내가보기에 rightBarButtonItem 코드를 사용하면 aVC가 모달로 제공 될 때만 사용하는 설정 바로 표시 줄 버튼 항목을로드했습니다. 모달 프레젠테이션 대신 aVC에 pushViewController를 사용할 때 해당 단추를 숨길 수있는 방법이 있는지 궁금합니다.

답변

0

보기 다양한 방법으로 밀거나 제공하는 경우를 감지 할 수

1) 뷰 (모달 제시되었는지 감지 푸시 탐색 컨트롤러()

if self.navigationController?.viewControllers.count > 0 
{ 
    if self.NavigationItem != nil 
    { 
     self.NavigationItem!.setLeftBarButtonItem(nil, animated: false) 
     self.NavigationItem!.setRightBarButtonItem(nil, animated: false) 
    } 
} 

2)의 실존 검출)

if self.presentingViewController != nil 
{ 
    //View is presented 
} 

그럼 당신은 사용할 수 있습니다/숨기기 버튼을 보여

for item in self!.navigationItem.leftBarButtonItems! // may be rightBarButtonItems! 
    { 
     item.enabled = true 
     item.tintColor = UIColor.whiteColor() You can change color 
    } 

// To hide items 
     if self.navigationItem.leftBarButtonItems != nil 
     { 
      for item in self.navigationItem.leftBarButtonItems! 
      { 
       item.enabled = false 
       item.tintColor = UIColor.clearColor() 
      } 
     } 

또는

if self.NavigationItem != nil 
{ 
    self.NavigationItem!.setLeftBarButtonItem(nil, animated: false) 
    self.NavigationItem!.setRightBarButtonItem(nil, animated: false) 
} 
+0

감사합니다 전무로 버튼을 설정할 수 있습니다! 이것은 내가 찾던 정확히 것입니다. – slonkar