내 스토리 보드에서 내 뷰의 일부를 재사용하려고합니다. 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가 루프에서 사라집니다.
내 스토리 보드의 스크린 샷입니다. – roocell