문제

UitabviewController에서보기가 아닌 펜촉을로드하고 싶습니다. 여기에 내가 지금 가지고있는 것이 있지만 작동하지 않지만, 내가 원하는 것에 대한 아이디어를 제공해야합니다.

- (IBAction)PlaylistButtonPressed:(id)sender
{
    MusicPick *music = [[MusicPick alloc] initWithNibName:@"MusicPick" bundle:nil];

    [self.view addSubview:music.view];

    [music release];    
}

보기에서 버튼을 누르면 아이디어는 다른 펜촉 인 MusicPick을로드하는 것이 서브 뷰로로드하고 무언가를 골라서 바로 여기로 돌아 오는 것입니다. 모든 도움이 감사하거나 새로운 아이디어가 있습니다.

도움이 되었습니까?

해결책

좀 더 세부 사항을 추가합니다.

AddSubview를 사용하거나 컨트롤러를 UitabbarController의보기로 푸시하여 기존 UIViewController의보기에 뷰를 추가 할 수 있습니다. 후자의 경우, UitabbarController는 rootViewController가있는 UinaVigationController 여야합니다.

나는 이것이 당신이 의미하는 바입니다. 그러므로 당신은 다음과 같은 일을 할 것입니다.

- (IBAction)PlaylistButtonPressed:(id)sender
{
    // Load UIViewController from nib
    MusicPick *music = [[MusicPick alloc] initWithNibName:@"MusicPick" bundle:nil];

    // Add to UINavigationController's stack, i.e. the view for this UITabBarController view
    [self.navController pushViewController:music animated:YES];

    // Release music, no longer needed since it is retained by the navController
    [music release];   
}

이것은 UitabbarController의보기로 UinavationController를 가지고 있다고 가정하고 NavController라고합니다.

UITABBARCONTROLLER (예 : 오버레이)에서 UIViewController의보기에 UIView를 추가하려면 이미 알아 낸대로 AddSubView를 사용할 수 있습니다.

다른 팁

하위 뷰를 직접 추가 할 수 없습니다 UITabBarController. 이러한 컨트롤러 중 하나가 작동하는 방식은 목록을 저장하는 것입니다. UIViewControllerS 및 이들 각각을 탭에 표시합니다. 그러나 그들은 Sé에 따라 실제로 하위 뷰가 아닙니다. 이 목록을 업데이트하는 것 외에는 탭 바 컨트롤러 자체를 실제로 수정하지 않습니다.

당신이 원하는 것 같아서 사용자가 탭 바 컨트롤러에서 무언가에 영향을 줄 옵션을 선택할 수 있도록 임시보기를 제시하기 때문에 펜촉 에서이보기를 모달보기로 제시하는 것이 좋습니다. ~ 위에 탭 뷰. 보세요 UIViewController'에스 presentModalViewController:animated: 그리고 dismissModalViewControllerAnimated: 행동 양식. 가정합니다 MusicPick 서브 클래스입니다 UIViewController,이 방법이 할당 된 후 (위의 첫 번째 코드 라인에서 수행 한 것과 같이)이 방법에 전달하면 Uikit은 나머지를 처리합니다. 그것을 공개하는 것을 잊지 마십시오 MusicPick 선택한 값 또는 사용자가 제공 한 데이터를 가져 오는 경우 인스턴스.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top