2011-12-15 7 views
7

Ho cercato per un po 'ora, ma non riesco a capire come integrare InAppSettingsKit in un'app, che utilizza Storyboard e TabBar.Come integrare correttamente InAppSettingsKit con Storyboard in un TabBar?

Ho la mia barra delle schede definita in uno storyboard, ora voglio una scheda per avere questo InAppSettingsKit come visualizzazione root. È possibile, dopo tutto?

Grazie a tutti.

+0

Non è più facile creare il proprio Tableview statica nello storyboard con i controlli, e impostare le NSUserDefaults quando un controllo è TAPpato. In questo modo non è necessario il framework InAppSettingsKit. – thvanarkel

+0

Sì, forse, ma preferisco InAppSettingsKit perché è molto simile all'app delle impostazioni e perché utilizza un settings.bundle. Se non prendo InAppSettingsKit, farò ciò che hai detto. – Garoal

risposta

6

Bene, dopo aver provato varie cose, ho capito, che il mio problema era in realtà, che ho messo tutte le cose dello IASK in una libreria statica (e non avevo nessun pacchetto Impostazioni). Dopo aver spostato tutto il codice e i pennini nello stesso progetto della MainStoryboard, ha funzionato aggiungendo un controller TableView allo storyboard e impostando la sua classe personalizzata su IASKAppSettingsViewController.

+0

Lo proverò se funziona per me avrai la taglia. Grazie! – Garoal

+0

Funziona per me. grazie per la condivisione. – Billy

2

In alternativa, se si desidera che i gestori dei pulsanti e altro codice personalizzato, fare seguente:

  1. Creare una classe derivata da UITableViewController
  2. Modificare il file di intestazione derivare da IASKAppSettingsViewController <IASKSettingsDelegate> Rimuovere tutti i metodi, ma l'initWithCoder e il protocollo settingsViewControllerDidEnd (o effettuare chiamate a super). Questo è tale che il codice UITableVC predefinito non sovrascrive la funzionalità IASK . Assicurati di inserire self.delegate = self; nell'iniziale initWithCoder per far funzionare i pulsanti.

    //SettingsViewController.h 
    #import "IASKAppSettingsViewController.h" 
    
    @interface SettingsViewController : IASKAppSettingsViewController <IASKSettingsDelegate> 
    @end 
    
    
    //SettingsViewController.m 
    // ... 
    - (id)initWithCoder:(NSCoder *)aDecoder 
    { 
        self = [super initWithCoder:aDecoder]; 
        if (self) { 
         self.delegate = self; 
        } 
        return self; 
    } 
    
    #pragma mark - 
    #pragma mark IASKAppSettingsViewControllerDelegate protocol 
    - (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender { 
        [self dismissViewControllerAnimated:YES completion:nil]; 
    } 
    
  3. Set classe personalizzata della visualizzazione della tabella di storyboard per la classe

+1

Volevo solo segnalare che questo ha funzionato perfettamente in Xode 5/ios6/7. Ho un TabBarController con un SettingsviewController come descritto sopra. – mox1