À l'aide de UISegmentedControl comme bouton

Dans mon code j'utilise un UISegmentedControl comme un "bouton" avec UN seul segment et le momentary propriété définie à YES. Dans les versions du kit de développement SDK avant iOS 4, ce n'était pas un problème, mais il semble que maintenant l'iOS 4, il faut au moins 2 segments. Le code suivant génère une exception:

NSArray *titles = [NSArray arrayWithObject:@"Button Title"];
myButton = [[UISegmentedControl alloc] initWithItems:titles];

et maintenant dans Interface Builder, vous ne pouvez même créer un UISegmentedControl avec moins de 2 segments. Il enregistre l'erreur suivante lors de la construction:

"Le nombre de segments de la propriété d'une segmentation de contrôle doit être supérieur ou égal à 2."

Je suis un peu perplexe. Toutes les solutions pour cela? J'ai essayé de créer un UISegmentedControl avec deux boutons, puis supprimer un par programme et qui "fonctionne" comme il n'entraîne pas l'application crash. Je reçois un bouton dans iOS 3 et rien dans l'iOS 4. Des idées?

C'est sur écoute-moi, trop. Je suis de l'utiliser comme un remplacement pour le "verre" bouton, Apple n'a toujours pas mis dans la partie publique du SDK.
J'ai utilisé pour faire la même chose pour les boutons colorés de la iOS3, mais ils semblent avoir retiré cette fonctionnalité dans la version iOS4.
Il semble que vous avez oublié de néant, comme un second élément de titres de tableau. Voir ma réponse ci-dessous de code de travail.
arrayWithObject: ne prend qu'un seul argument. Vous êtes en train de penser arrayWithObjects:
Désolé, vous avez raison. Mais la ligne de fond est que arrayWithObjects à néant en tant que second paramètre fera l'affaire.

OriginalL'auteur Adolfo | 2010-07-16