5

Amacım, yerel iPad Ayarları uygulamasına benzer bir şey uygulamaktır. Ayarlar, UITableViewController'u kullanır ve bu nedenle, ayrıntılı görünümde, alt görünümleri ayrıntılı bir şekilde inceleyebilir, ancak ayrıntılı görünümümde, bir görünüm denetleyicisini düğme musluğu yoluyla itmek istiyorum. ...
1) SecondDetailViewController) salt okunur nil ayarlandığında özelliği navigationController (sahiptir
2) Bu yüzden yeni UINavigationController oluşturulan ve bunu kullandı: Görünüm denetleyicilerini Apple'ın örnek MultiDetailViews ayrıntı görünümünde nasıl zorlayabilirim?

yüzden MultipleDetailViews örnek uygulama uzatmak için denedim Denetleyicileri zorla, ama işe yaramadı.

Kodum:

if (!self.myNavigationController) { 
    self.myNavigationController = [[UINavigationController alloc] initWithRootViewController:self]; 
} 

FirstDetailViewController *controller = [[FirstDetailViewController alloc] initWithNibName:@"FirstDetailView" bundle:nil]; 

[[self myNavigationController] pushViewController:controller animated:YES]; 

[controller release], controller = nil; 

Ayrıca UINavigationController sadece init yöntemi denedim ama aynı zamanda işe yaramadı.

Özel UISplitViewController uygulanmadan mümkün olmayan bir şey çalışıyor muyum? SecondDetailViewControllerUINavigationBar için örnek kod tarafından yanlış mıydı?

cevap

0

Bunu yapabilmek için, dizideki her bir viewController öğesini viewController'a itmelisiniz. böylece gibi:

[[self.appDelegate.splitViewController.viewControllers objectAtIndex:0] pushViewController:rootLevel1 animated:YES]; 
[[self.appDelegate.splitViewController.viewControllers objectAtIndex:1] pushViewController:detailLevel1 animated:YES]; 

Kredi ve Code: http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

+0

Bağlantı ölü gibi görünüyor - başka bir referansınız var mı? – matm

+0

[link] (http://kshitizghimire.com.np/uisplitviewcontroller-push-viewcontroller-in-master-and-detail/) bunu deneyin. Web sitesi geçen gün yapıldı. – DogEatDog

0

Ben benzer bir soruna çözüm arıyordu. Benim durumumda, seçime bağlı olarak birden fazla detay görüntülemeye bağlantı sağlamak için tablo görmek istedim. Verileri bir tek denetleyiciye yerleştirebilirdim ama daha iyi bir çözüm arıyordum. İşte yaptım. Bu kadar basit ve daha sonra çok daha iyi buldum karmaşık ve modası geçmiş bazı seçenekler.

ben sadece ben DetailView ("ikinci") görünmüyor istediği viewcontroller kimlik denetiminde bir film şeridi kimliği verdi ve didSelectRowAtIndexPath üzerine ben basitçe ekledi:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

[[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 

    } 

Yani birisi bir hücreyi bastığında Ana görünümde, ayrıntı görünümü itilir.

basit bir açıklama gösterilir hangi görünümün geçiş yapabilirsiniz eğer:

if ([[self.selfRootMenuArray objectAtIndex:indexPath.row] isEqual: @"Second Choice"]) { 
     TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

[[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 

    else if ([[self.selfRootMenuArray objectAtIndex:indexPath.row] isEqual: @"First Choice"]) { 
     TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"first"]; 

[[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 

    }; 

Sadece düğmeler, anahtarları ya da bir şey yerine başka bir tablo görünümünü kullanabilirsiniz ama noktası olduğunu bir "storyboard ID" ekleyerek "Kimlik Müfettiş"

ve sade endeksi 1 (ayrıntı tarafı) bölünmüş görünüm kontrolöre iterek ardından "Storyboard ID" referans ve tarafından görünümü denetleyicisi başlatmasını onun basit ve hızlı

TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

[[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES];