2011-08-26 2 views
0

나는 iPhone/iPad 프로그래밍의 초심자입니다. 내 질문은 두 개 이상의보기 (또는 xib 파일)에 공통보기를 추가하는 방법입니다. 예를 들어 다른 xib에 표시 할 공통 메뉴를 추가하려는 계획입니다. 현재 모든 xib에 동일한 요소 (버튼)를 추가하고 있습니다. 어떤 편리한 방법이 있습니까?다른 xib에 공통 뷰를 추가하는 방법은 무엇입니까?

답변

0

는 연결 MainWindow.xib 파일에 공통의 전망을 가지고 또한 IBOutlet과 AppDelegate에 파일의 특성 ..

을 당신의 IBOutlet 제대로하고 AppDelegate에 인스턴스를 생성하고 추가해야 다른 뷰 컨트롤러에서 사용하는 때 귀하의 viewcontroller에 일반적인보기 및 프레임을 설정합니다.

[appDelegate.indicatorView setFrame:CGRectMake(107, 213, 106, 81)]; 
[self.view addSubview:appDelegate.indicatorView]; 

appDelegate는 인스턴스 객체이고보기 속성이 액세스 할 수 있습니다를 만들어

이 .. indicatorView가 MainWindow.xib 파일에 공통이다

예처럼 ... ..

+0

자세한 내용은 plz에서 설명 할 수 있습니까? 내 게시물에 언급 한대로, 전적으로 아이폰/iPad 프로그래밍에 초보자. –

0

왜 탭 바 컨트롤러를 사용하고 있지 않습니까?

사용자 탭 표시 줄 컨트롤러를 숨기고 탭 표시 줄을 숨기고 사용자 정의 메뉴 항목 (버튼)을 추가하십시오. 코드 아래를 참조하십시오.

- (void) hideTabBar 
{ 
    for(UIView *view in tabController.view.subviews) 
    { 
     if([view isKindOfClass:[UITabBar class]]) 
     { 
      view.hidden = YES; 
      break; 
     } 
    } 
} 

- (void) addCustomTabs 
{ 
    totalTabs = 5; 
    CGRect rect = CGRectMake(0.0, 0.0, 64.0, 49.0); 

    tabScroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 460.0-rect.size.height, 320.0, rect.size.height)]; 
    tabScroller.backgroundColor = [UIColor clearColor]; 
    tabScroller.showsHorizontalScrollIndicator = NO; 
    [tabController.view addSubview:tabScroller]; 

    float x = 0.0; 
    for (int i = 0; i < totalTabs; i++) { 
      customTabs[i] = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
      customTabs[i].frame = CGRectMake(x, 0.0, rect.size.width, rect.size.height); 
      customTabs[i].tag = i; 
      [customTabs[i] addTarget:self action:@selector(selectTab:) forControlEvents:UIControlEventTouchUpInside]; 
      [customTabs[i] setTitle:[NSString stringWithFormat:@"%d",i+1] forState:UIControlStateNormal]; 
      [tabScroller addSubview:customTabs[i]]; 
      x += rect.size.width; 
     } 

     tabScroller.contentSize = CGSizeMake(x, rect.size.height); 
} 

- (void) selectTab:(id)sender 
{ 
     int tabID = [sender tag]; 

     for (int i = 0; i < totalTabs; i++) { 
     customTabs[i].selected = NO; 
     } 

     customTabs[tabID].selected = YES; 
     tabController.selectedIndex = tabID; 

} 
+0

실제로 상단에 메뉴가 나타나길 원합니다. 탭 표시 줄을 사용하여 구현할 수 있습니까? –

관련 문제