2010-01-25 3 views
4

탭이 5 개 이상인 탭바를 만들고 나머지는 자동으로 "추가"보기에 추가되었습니다. 괜찮 았지만 그와 함께 사용자는 앱의 탭 구성을 "편집"할 수 있습니다.tabbar 항목의 구성을 방지하는 방법이 있습니까?

사용자가이를 수행하기를 원하지 않습니다. 사용자가이 작업을 수행 할 수 없게하는 방법이 있습니까?

답변

2

UITabBarController documentation을 살펴보십시오. "customizableViewControllers"

customizableViewControllers

검색보기 컨트롤러의 하위 집합 을 사용자 정의 할 수 있습니다이 탭 바 컨트롤러에 의해 관리.

@property (비 원자, 복사) NSArray를 * customizableViewControllers

토론

막대 탭의 항목은 사용자에 의해 재배치 될 수있는 이러한 속성 컨트롤. 사용자가 탭 표시 줄에서 More 항목 을 누르면 사용자 정의 인터페이스에 기본 탭 표시 줄에 맞지 않는 항목이 표시됩니다. 이 인터페이스에는 사용자가 항목을 다시 정렬 할 수있게 해주는 편집 단추도 있습니다. 연결된 배열의 인 연결된 뷰 컨트롤러가있는 항목 만이 인터페이스에서 다시 정렬 될 수 있습니다. 배열이 비어 있거나 이거나이 속성의 값이 nil이면 입니다. 탭 막대는 항목을 다시 정렬 할 수 없도록합니다.

(직접 또는 하나 setViewControllers 사용 : 움직이는 : 방법)에 viewControllers 속성 값 변경 의이 속성의 값을 변경한다. 탭 표시 줄 컨트롤러에 처음 할당 된 경우 모든보기 컨트롤러는 사용자 지정 가능합니다.

은 기본적으로 당신이해야 할 일은, 다음 코드를 사용하여 값을 설정하는 것입니다에 무기 호 : 건배


- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
tabBarController.customizableViewControllers=nil; 
} 

,
VFN

+0

참고하면 tabBarController이 있어야하시기 바랍니다 이 단계 이전에 정의되었거나 작동하지 않습니다. – Jann

1
// 'Move view' customization 
// MORE tab bar items 'More view' 
- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    self.tabBarController.customizableViewControllers=nil; 

    UIViewController * moreController = 
    [[self.tabBarController.moreNavigationController viewControllers] objectAtIndex:0] ; 
    UITableView * moreTableView = (UITableView *) [moreController view]; 
    [moreTableView setSeparatorColor:[UIColor redColor]]; 
    [moreTableView setBackgroundColor:[UIColor yellowColor]]; 
} 
+0

첫 번째 게시 - 형식이 잘못되었습니다. 그러나 그것은 효과적이다. –

관련 문제