2011-12-23 6 views
0

내 스토리 보드에서 내 뷰의 일부를 재사용하려고합니다. uitabbarcontroller로 시작하여 각 탭에 대해 일부보기가 연결되어 있습니다. 이제 새로운 uitabbarcontroller를 스토리 보드에 놓았으며 원래 탭바에 연결된 동일한 뷰 컨트롤러에 탭 중 하나를 연결하려고합니다.uitabbarcontroller storyboard : 이미 다른 uitabbarctrl에 연결된 뷰 컨트롤러 연결

스토리 보드에서 뷰 컨트롤러를 그렇게 재사용 할 수 있습니까? 아니면 새로운 viewcontroller를 생성해야합니까? 스토리 보드에서 '밀어 넣기'를 선택하여 다른 작업을 수행 할 수 있기 때문에 전 작품을 추측합니다. '관계'를 선택하면 uitabbar에서 작동하지 않습니다.

확인. 나는 내 사고의 원인을 발견했는데 나는 무슨 일이 일어나고 있는지 알고있다. 다른 uitabbarcontroller에 연결하면 첫 번째 탭에서 뷰의 인덱스가 엉망이됩니다. 내가 최대한 빨리 두 번째의 UITabBar 연결로

UINavigationController* ar_nav=[self.viewControllers objectAtIndex:1]; 
_artvc = [ar_nav.viewControllers objectAtIndex:0]; 
if (![_artvc isKindOfClass:[ArtistTableViewController class]]) 
{ 
    TGLog(@"ERR wrong class! %@", [_artvc class]); 
    exit(0); 
} 

를 사용하여의 UITabBar에서 viewcontrollers에 점점 참조를하고 있어요 것은 인덱스 1 (스토리 보드는 것을 보여준다에도 불구하고) 그 클래스 아니라고 밝혀 .

나는 두 번째의 UITabBar를 연결할 때까지

UINavigationController* n; 
for (n in self.viewControllers) 
{ 
    UIViewController* vc=[n.viewControllers objectAtIndex:0]; 
    TGLog(@"%@", [vc class]); 
    if ([vc isKindOfClass:[ArtistTableViewController class]]) 
    { 
     _artvc = (ArtistTableViewController*)vc; 
    } 
    if ([vc isKindOfClass:[SongsTableViewController class]]) 
    { 
     _stvc = (SongsTableViewController*)vc; 
    } 
    if ([vc isKindOfClass:[AlbumTableViewController class]]) 
    { 
     _altvc = (AlbumTableViewController*)vc; 
    } 

} 

잘 작동 내 원래 TabBar의 컨트롤러에이 코드를 사용. 일단 그렇게하면 내 viewcontroller가 루프에서 사라집니다.

+0

내 스토리 보드의 스크린 샷입니다. – roocell

답변

0

확인. 그것은 내가 UITabbar-> navcontroller-> uitableview를하고 있다는 사실을 가지고 (아마도) 할 일이있다.

두 번째 tabbar를 추가하고 자신의 navcontroller를 만들고 연결하면. 그런 다음 navcontroller에서 tableview에 연결하여 원래 tableview를 '재사용'하십시오. 이것은 원래 탭바를 망치는 것처럼 보이지 않습니다.

여기에 내가 빈 프로젝트와 더 나은 질문을 다시거야 http://www.thumbgenius.dynalias.com/tabbar_vc_reuse.png

0

확실히 가능합니다. 연결이 뷰에 있는지 확인 하시겠습니까?

사과드립니다. 그것은 불분명했다. 컨트롤을 잡고 파란색 연결선을 드래그 할 때 뷰 자체에 연결하고 있는지 확인하십시오 (다른 것은 아님).

다른 UITabBarController에서 공유하는 경우에도 UITabBarController와 뷰 사이의 관계를 만들 수 있어야합니다.

시도 할 때 선택 사항으로 표시되는 내용은 무엇입니까?

+0

도움에 감사드립니다. 나는 uitableviewcontroller로 끌고있다. 관계, 푸시, 모델, 관습 등 4 가지 옵션이 있습니다. 나는 그보기 컨트롤러가 내 탭의 VC가되기를 원하기 때문에 관계를 선택한다고 가정합니다. 바로 충돌합니다. 스토리 보드를로드 할 때가됩니다. – roocell

+0

스토리 보드에 새 VC를 놓고 사용하면 제대로 작동합니다. 이미 사용 된 것은 아닙니다. – roocell

+0

어쩌면 내가 뭔가를 분명히 했어야했다. 나는 uitabbar-> navcontroller-> uitableview있다. 거기에있는 navcontroller와 관련이있을 수 있습니까? (나는 navcontroller와 tableview에 연결을 시도했다. – roocell

관련 문제