Changement de UISwitch texte dans l'iOS 4.2
Je suis en train de modifier le texte dans UISwitch. L'échantillon à partir du site web ( Modifier le texte sur un UISwitch ) fonctionne très bien mais lorsque je mettre à jour mon xcode pour 3.2.5 et de l'iOS 4.2, le plantage de l'application lors de la fonctions est appelé à changer le texte. Je suis à l'aide de l'exemple suivant à partir du site web.
par exemple.
((UILabel *)[[[[[[_agreeAgb subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:0]).text = @"Foo";
((UILabel *)[[[[[[_agreeAgb subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:1]).text = @"Bar";
L'exception levée est parce que l'objet null est rencontré.
Grâce.
je suis confronté au même problème que u peut me dire comment avez u le résoudre
OriginalL'auteur user510951 | 2011-01-26
Vous devez vous connecter pour publier un commentaire.
Ne pas le faire. La manipulation de la vue privée de la hiérarchie des contrôles cadre est absolument pas pris en charge, et peut provoquer une incompatibilité avec les mises à jour OS. D'autant plus que votre code ne fait absolument aucune vérification de la hiérarchie, de sorte que vous pouvez très facilement en panne si le nombre ou le type de sous-vues ne correspond pas à ce que vous attendiez.
Je crois que vous avez manqué le point de ma réponse, c'est qu'il existe aucun une bonne solution.
OriginalL'auteur Lily Ballard
J'ai trouvé le succès en 4.2 avec ce code à partir d'ici. Il sous-classes UISlider (pas UISwitch) afin d'obtenir un effet qui ressemble à l'personnalisé UISwitch.
Juste une remarque pour les gens qui utilisent cette solution: elle vous demande de fournir votre propre interrupteur de l'imagerie. Quand iOS a adopté le nouveau style de course (iOS 5?), toutes les applications utilisant ce serait commutateurs regardé vieux. Donc, vous devriez être sûr de les vérifier visuellement la cohérence de cette solution, car les nouvelles versions iOS apparaissent.
OriginalL'auteur Matt Blackmon
Il ne semble pas encore être un moyen de modifier le TEXTE, mais vous pouvez changer ce qui est affiché par le réglage de la
onImage
etoffImage
propriétés, introduit dans l'iOS 6http://developer.apple.com/library/ios/documentation/uikit/reference/UISwitch_Class/Reference/Reference.html
OriginalL'auteur Dan F
Essayez d'utiliser un personnalisable open source UISwitch de remplacement.
Celui-ci semble assez bon: DCRoundSwitch sur GitHub, mais il ya beaucoup plus sur GitHub si celui-ci ne fonctionne pas.
Ce type d'approche n'a pas les mêmes problèmes d'incompatibilité, car il met en œuvre le commutateur de fonctions et de dessin lui-même et ne repose que sur la fonctionnalité de base de UIControl de la classe de base. La seule chose que vous pourriez avoir besoin de mettre à jour de temps à autre est la bibliothèque que vous utilisez (DCRoundSwitch), cependant, des fonctionnalités de base comme UIControl de Quartz et de dessin sont tout à fait établi et rarement changer si cela peut en toute sécurité être considéré comme rare et un minimum de facteur de risque.
OriginalL'auteur Slipp D. Thompson