Questo potrebbe non essere possibile, ma spero che qualcuno abbia un'idea di come farlo.pulsante di creazione per l'ancoraggio della vista popover in fase di esecuzione
Ho un'app che sto trasferendo da iPhone solo su Universal. Su iPhone, sto usando un'applicazione Tabbed. Io uso tre schede per i dati normali da visualizzare. Ho una quarta scheda che viene visualizzata solo se sono soddisfatte determinate condizioni. Per aggiungere la scheda, lo faccio:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
UITabBarController *tabController = (UITabBarController *) self.rootViewController;
NSMutableArray* newArray = [NSMutableArray arrayWithArray: tabController.viewControllers];
[newArray addObject: [theStoryboard instantiateViewControllerWithIdentifier: @"AdditionalView-Phone"]];
[tabController setViewControllers:newArray animated:YES];
}
per l'iPad, ho abbastanza spazio sulla vista iniziale per visualizzare tutto dai principali tre schede in iPhone UI. Quindi tutto ciò di cui ho bisogno è una vista aggiuntiva (piccola) per i dati "aggiuntivi". Volevo farlo usando una vista popOver, quindi ho impostato la vista iniziale con una barra di navigazione e un pulsante popover come nel modello di Utility App. Ma ora sono bloccato. Non riesco a capire come creare quel pulsante popover in fase di esecuzione e far sì che segua correttamente la visualizzazione di popOver. Posso aggiungere il pulsante in questo modo:
UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] initWithTitle: @"Modem" style: UIBarButtonItemStylePlain target: self action: @selector(togglePopover:)];
self.navBar.topItem.rightBarButtonItem = flipButton;
ma ottengo un'eccezione: 'NSInternalInconsistencyException', la ragione: 'UIStoryboardPopoverSegue deve essere presentata da un elemento pulsante della barra o una vista' Sono sicuro che questo è perché non ho un set di ancoraggio per il seguito di popOver. Il pulsante non esiste nello storyboard, quindi non posso impostarlo lì. E non riesco a trovare un'API per impostarlo in fase di esecuzione.
Ho anche provato a creare il pulsante in IB, ma non nella gerarchia della vista, e quindi semplicemente impostando la proprietà rightBarButtonItem sul mio pulsante esistente. Anche questo funziona, ma non riesco ancora a impostare quel pulsante come ancoraggio per la visualizzazione popover. Posso impostare la barra di navigazione come ancoraggio, ma questo rende ancorabile al titolo nella barra di navigazione, che sembra sciocca.
Qualche idea?
Ehi, @Flyingdiver hai trovato una soluzione a questo? – Rog
Sì, crea un UIView nascosto dal quale presentare il popover e muoverlo ovunque ti serva. –