2016-03-30 18 views
1

Hikaye panosunda bir UIViewController var. Bu UIViewController içinde, bir tabloViewController ile gömülü bir konteyner var. Bu tableViewController statik bir tablodur. UIViewController içinde bu tableViewController'ı nasıl kullanabilirim?Bir UITableViewController'ı UIViewController içinde bir kapsayıcıya yerleştirilmiş statik hücrelerle nasıl devrederim?

UITableViewDelegate, UITableViewDataSource gibi protokoller belirledim ve bu tabloViewController'ı nasıl alabileceğimi ve UIViewController'ma nasıl yetki verdiğimi bilmiyorum.

Ekranı aşağıda görebilirsiniz.

P.S. Bir yan gezinti çubuğu yapmaya çalışıyordum. Herhangi bir kod görmeniz gerekiyorsa lütfen bana bildirin.

enter image description here

+0

uygulayarak UIViewController alt ViewController ve tableViewController childViewController olarak kullanabilirsiniz. Ancak daha iyi bir çözüm UITiView'i UViewerController'da subView olarak kullanmaktır. –

+0

Statik bir tablo olduğundan, UIViewController ürününe koyamıyorum. İnşa ettiğimde hata olacak. Bu yüzden UIViewController'ın içine bir konteyner görünümü koyarım ve bir tableViewController ile katıştırıyorum. Ebeveyn ViewController yolu çalışacak gibi görünüyor. Ama bana bundan daha fazlasını anlatabilir misin? –

+0

@SandeepKumar Thanks Kumar bir çekicilik gibi çalışıyor! –

cevap

1

: bu yanıta bakın

@protocol SideTableViewContollerDelegate <NSObject> 

- (void)didClickCellOfIndexPath:(NSIndexPath *)indexPath; 

@end 

@interface SideTableViewController 

@property (weak, nonatomic) id<SideTableViewContollerDelegate> delegate; 

@end 

gibi tableViewController için ve UIViewController içinde bir temsilci oluşturun, sen tableViewController en temsilci olarak kontrolörü set

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([segue.identifier isEqualToString:@"go table view"]) { 
     SideTableViewController *stvc = (SideTableViewController *)segue.destinationViewController; 
     stvc.delegate = self; 
    } 
} 

ve içeride tableView'ın temsilci işlevi "didSelectRowAtIndexPath" yapar:

ve soldaki tüm tablo denetleyicinin temsilcisini

0

ben embed tableViewController sınıfı ayarlamak ve UIViewController sınıfında [self addChildViewController: myTableViewController] koymak zorunda çıkıyor. Ve kontrol etmek için UITableViewController sınıfında uygulayabilirim.

0

tableViewController öğesine erişmek için segue kullanabilirsiniz. Sadece - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender uygulayın ve viewController'in viewDidLoad öğesinden önce çağrılacak. Bu benim görüşüm Access Container View Controller from Parent iOS