2013-01-16 4 views
0

여러보기에 표시 될 때 한 번만 만들려는 UIBarButtonItem이 있습니다. viewControllers 다른 UINavigationBar에 TabBar의 내 여러 UINavigationBar에서 하나의 UIBarButtonItem 인스턴스

는 I 동일한 버튼 인스턴스를 추가
[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects: 
               self.aButtonItem, 
               appDelegate.aSingleton.singleButtonItem, 
               nil] 

I 조회수를 전환

는 단일 인스턴스 버튼은 처음에 표시된다. 빈 공간이 있으며 버튼이 있던 위치를 클릭하면 액션이 올바르게 호출됩니다.

버튼이 더 이상 표시되지 않습니다.

문서화 된 "기능"입니까?

왜 내가이 작업을 수행하고 있습니까?

버튼을 _singleButtonItem.selected = YES로 선택하면 사용자에게 알림을 표시합니다 (배지처럼 보이지만 덜 관입 함). 따라서 하나의 인스턴스를 갖고 싶습니다.

답변

1

단일 개체는 여러 위치에있을 수 없습니다. 여러 파일을 만들어야합니다. 그러나 배지 값을 어딘가에 저장하여 모든 버튼에 표시하여 필요에 맞게 설정할 수 있습니다.

논리적으로 UIView는 하나의 상위 뷰만 가질 수 있습니다. 따라서 동일한 자식 뷰를 다른 자식 뷰에 추가하면 첫 번째 부모 뷰에서 제거되고 두 번째 부모 뷰에 자식으로 추가됩니다.

+0

감사합니다. 그것은 명백합니다. 그래서 나는 다중 인스턴스가 필요할 것이고 관찰자 패턴을 구현할 것이다. – theguy

관련 문제