Ho un'app con uno storyboard. Sto usando diversi View Controller con segues per scegliere da una vista tabella a seconda dell'elemento selezionato. Voglio avere un controller di visualizzazione di pagina in cui le pagine saranno uno o più controller di visualizzazione dallo storyboard, anche ripetendoli. Sto provando a init
il controller di visualizzazione della pagina in questo modo: .... self.dataSource = self;Utilizzo di View Controller dallo storyboard in modo programmatico in un controller di visualizzazione pagine
UIViewController *initialViewController =[self viewControllerAtIndex:current];
NSArray *viewControllers = [NSArray arrayWithObject:initialViewController];
[self setViewControllers:viewControllers direction:UIPageViewControllerNavigationOrientationHorizontal animated:NO completion:nil];
....
- (UIViewController *)viewControllerAtIndex:(NSUInteger)index
{
if ((descriptions.count == 0) ||
(index >= descriptions.count)) {
return nil;
}
current=index;
// Create a new view controller and pass suitable data.
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
Description *description=[DBCompany getDescriptionById:language descriptionId:[[descriptions objectAtIndex:index] integerValue]];
UIViewController *viewController=nil;
if(description.frame==100){
viewController=[[Company100ViewController alloc] init];
((Company100ViewController*)viewController).companyId = companyId;
}
return viewController;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ((descriptions.count == 0) ||
(current-1 < 0)) {
return nil;
}
return [self viewControllerAtIndex:current-1];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ((descriptions.count == 0) ||
(current >= descriptions.count)) {
return nil;
}
return [self viewControllerAtIndex:current+1];
}
Tuttavia il viewcontroller
appare in nero. Penso sia perché sto aggiungendo la classe UIviewcontroller
ma non la collego a nessuna vista, XIB, nel mio caso con lo storyboard.
Come posso utilizzare il diverso controller di visualizzazione dallo storyboard al livello di programmazione da utilizzare in un controller di visualizzazione di pagina?
grazie. Che funzioni. –
Nota: se UIPageViewController si trova nello stesso storyboard della tua pagina UIViewControllers, puoi semplicemente usare self.storyboard invece di UIStoryboard * sb = [UIStoryboard ... –