2014-07-26 26 views
10

So che sembra banale, ma sono piuttosto irritato dalla mancanza di un modello "vuoto" per le app iOS in beta 3/4.Xcode 6 - Modello senza storyboard

Detesto l'approccio Storyboard, (IMO è ingenuo presumere che sia sempre l'approccio più elegante).

Infatti, per la maggior parte dei casi di utilizzo, gli storyboard semplicemente non funzionano.

Qualcuno può consigliarmi su come posso prendere il modello vuoto e arrivare a un punto di partenza (delegato app con una finestra) senza SB? - o migrare uno degli altri modelli a non SB.

che preparano per il metodo segue mi dà i brividi è così brutto ...

Grazie in anticipo.

+0

Solo per curiosità, che cosa '' casi d'uso si fa a parlare di questo storyboard non sono un'opzione? E perché detestare il metodo 'prepareForSegue:'? – duci9y

+1

@ duci9y - Certo, preferisco un approccio programmatico. Mi piace fare cose nel codice.Per progetti grandi e complicati con (per esempio) 20+ VC's Storyboarding è semplicemente inelegante e, lo trovo, controproducente. Per quanto riguarda prepareForSegue ... beh, IMO penso che l'uso suggerito sia una pratica di codifica del tutto sbagliata. Che ne dici del modo in cui usi una stringa "magica" per indicare quale VC stai passando a !? Preferisco di gran lunga creare il mio viewController e presentarlo/spingerlo come richiesto. Immagina di avere potenzialmente 20 diversi VC referenziati per nome in prepareForSeague. Che paradigma completamente disgustoso. – Woodstock

+0

@ duci9y Puoi immaginare come appare l'SB con 20/30 viewControllers? - Semplicemente non funziona! È grandioso per piccoli progetti, ma non è efficace per qualcosa di più grande. – Woodstock

risposta

25

Non mi piacciono neanche gli storyboard.

Ecco quello che faccio per andare da un SB-modello per bello e pulito 'dal progetto di codice':

  • creare un progetto dal modello single-view (ti dà lo storyboard 'boilerplaite' meno)
  • eliminare lo Storyboard
  • andare al vostro AppDelegate (.m/.swift) e creare un UIWindow tramite il codice a application:didFinishLaunchingWithOptions::

    CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
    
    UIWindow *window = [[UIWindow alloc] initWithFrame:screenBounds]; 
    
    UIViewController *viewController = [[UIViewController alloc] init]; 
    [window setRootViewController:viewController]; 
    
    [window makeKeyAndVisible]; 
    
    [self setWindow:window]; 
    
  • ricordarsi di andare selezionare il vostro target ed eliminare la voce 'MainInterface' in 'Generale' sotto 'Deployment Info'

Da questo punto in poi, si è pronti ad andare e Xcode non vi infastidiscono con SB più :)

Purtroppo, non ho trovato un modo per salvare un progetto come modello finora:/

+1

Sei una leggenda, evviva! – Woodstock

+1

Instant +1 per "I feel you bro" –

+3

LONG LIVE XIB FILE! Grazie ! –

4

probabilmente non si desidera eliminare solo il file senza dire il resto del progetto ..

Tu voler modificare il plist e rimuovere:

  • lancio nome di base di file interfaccia dello schermo
  • principale nome di base di file storyboard

In questo modo, l'applicazione non è alla ricerca di file che non sono lì .

Quindi, aggiungere il codice che dice Cabus (che è solo il codice che Xcode forniva in Xcode 5).

2

C'è una libreria github per il modello di progetto xcode 7 senza storyborad, che ha seguito la risposta di Cabus.

https://github.com/elprup/xcode7-project-template

+0

Sono una persona visiva ma trovo che gli storyboard siano confusi. Le mie app chiedono i limiti dello schermo per configurare i layout e sono sopravvissuti da iPhone 4 a 6s senza bisogno di aggiornamenti. Grazie per questo link. – ManInTheArena

+0

siete i benvenuti – elprup

Problemi correlati