Je veux ajouter une vue à mon application permettant à l'utilisateur de modifier plusieurs paramètres (nombreux). Il devrait ressembler à la "application de paramètres" intégrée ( Voir ici ) mais il doit être dans mon application elle-même. Pour le moment, j'ai juste une vue de table et j'ajouterai manuellement différents objets de cellules (correspondant aux commutateurs, curseurs, etc.). Y a-t-il un smarter de faire ça? J'ai le sentiment que je réinvente la roue. p>
4 Réponses :
Non, c'est la voie, renvoyant des cellules individuelles dans le TableView: CellfroworTindexpath: code> méthode. Rappelez-vous simplement qu'un utableviewcell code> a des propriétés utiles telles qu'une marque d'accessoires (un bouton Détail de discolsure, un indicateur de divulgation ou une coche) et une image à gauche. p>
Voici un certain code que j'ai utilisé pour configurer une page de préférences:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 3;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (section) {
case (0):
return 3;
break;
case (1):
return 2;
break;
case (2):
return 1;
break;
}
return 0;
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
switch (section) {
case (0):
return @"Numbers";
break;
case (1):
return @"Randomize";
break;
case (2):
return @"About";
break;
}
return nil;
}
Si vous êtes vraiment gung ho, vous pouvez simplement utiliser le même format Apple utilise pour décrire les paramètres qui se rendraient normalement dans le paquet de paramètres - mais pour l'analyser vous-même et construire dynamiquement une table en fonction des types de paramètres. < / p>
C'est beaucoup de travail, mais encore une fois, la moitié du travail a déjà été fait pour vous, car Apple a un schéma de platine très bien, ce que vous définissez les paramètres. P>
Cela vous donne également l'avantage d'étendre le format de paramètres pour inclure certaines capacités supplémentaires que l'application Paramètres n'aurait pas ... p>
Ceci est une ancienne question des normes Internet, mais j'ai trouvé un moyen incroyable de le faire qui nécessite très peu d'efforts. Je tirai mes cheveux en essayant de construire une 2nd table de vue dans une autre nib avant de trouver ces gars: inappsettingskit p>
Fondamentalement, ils ont toutes les vues et les trucs backend effectués, tout ce que vous faites est d'ajouter les fichiers à votre projet et de mettre en œuvre quelques méthodes de délégation dans la classe que vous appelez la page Paramètres à partir de (avec un bouton Votre UI pour ouvrir le panneau Paramètres, etc.), et il prend soin des trucs Nsuserdefault. L'UI et les paramètres Valeurs et clés sont toutes générées à partir des mêmes paramètres.Bundle utilisés pour l'application de paramètres réels, ce qui signifie que vos paramètres peuvent être modifiés par l'utilisateur dans les deux endroits, dans l'application et dans l'application Paramètres. J'ai trouvé cela beaucoup plus facile que de gâcher avec les méthodes de déléguée pour une vue de table personnalisée, et maintenant je n'ai pas à choisir entre les paramètres.app et quelque chose dans l'application car il fait les deux. P>
Tout ce qui reste est de tirer les valeurs dont vous avez besoin pour chaque clé de paramètres ultérieurement dans votre application lorsque vous en avez besoin, avec [[[[NSUSERDEFAULTS STANDERDEFAULTS] ObjectForKey: @ "Key"]. P>
Joli. Malheureusement, près d'un an trop tard, mais je garderai cela à l'esprit au cas où j'avais besoin de nouveau.
Dans le cas où quelqu'un est intéressé à voir le résultat (Goto 'Milky Way', alors "Options"): iTunes.apple.com/us/app/exoplanet/id327702034?mt=8