2010-03-26 7 views
0

J'ai un problème avec l'iPhone lorsque je veux utiliser un bouton personnalisé dans le clavier (champ de texte) de ma page d'application. J'ai intégré un bouton nommé point dans le clavier et il apparaît bien mais quand je clique dessus, il est supposé aller à une action que j'ai définie. mais il se bloque.Bouton de clavier personnalisé dans l'iphone

- (void)sendDecimal:(id)sender { 
    // Post a Notification that the Decimal Key was Pressed. 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"DecimalPressed" object:nil]; 
} 

il s'exécute jusqu'à ce que l'application essaie d'envoyer une notification à je ne sais pas peut être la routine ou la fonction ou la méthode.

Quelqu'un peut-il m'aider à cet égard.

grâce

EDIT

Voici le message d'erreur:

-[UITableView addDecimal:]: unrecognized selector sent to instance 0x4051e00 
2010-03-26 16:08:42.272 app[2855:20b] 

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[UITableView addDecimal:]: unrecognized selector sent to instance 
0x4051e00' 

EDIT

j'ai défini le sélecteur addDecimal, voici le code ... ...

- (void)viewDidAppear:(BOOL)animated { 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:tableView selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil]; 

Modifier

Oui, je l'ai écrit comme [dot addTarget: auto l'action: @selector (sendDecimal :) forControlEvents: UIControlEventTouchUpInside];

+0

Pouvez-vous copier et coller le message d'erreur de la console? Ce serait extrêmement utile. –

+0

*** - [UITableView addDecimal:]: sélecteur non reconnu envoyé à l'instance 0x4051e00 2010-03-26 16: 08: 42.272 app [2855: 20b] *** App terminaison due à l'exception non interceptée 'NSInvalidArgumentException', raison: ' *** - [UITableView addDecimal:]: sélecteur non reconnu envoyé à l'instance 0x4051e00 ' –

+0

est-ce une faute d'orthographe ...? –

Répondre

0

Problème Les gars résolus

Erreur

[[NSNotificationCenter defaultCenter] addObserver:tableView selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil]; 

Resolve:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addDecimal:) name:@"DecimalPressed" object:nil]; 

Put addObserver à l'auto plutôt que tableview

1

avez-vous écrit quelque chose comme

[YourButtonButton addTarget:self action:@selector(addDecimal:) forControlEvents:UIControlEventTouchUpInside]; 

ensuite le remplacer par

[YourButtonButton addTarget:self action:@selector(sendDecimal:) forControlEvents:UIControlEventTouchUpInside]; 

de votre commentaire je suis guessint il est juste orthographe erreur ou quelque chose

+0

en fait j'ai pris le code source d'un exemple de la façon de créer un bouton personnalisé et cela fonctionne bien car ils le définissent dans le fichier délégué de l'application principale mais j'ai une application et je dois faire est sur viewControllers. donc je combine ceux-ci afin que je ne doive pas changer quoi que ce soit dans les principaux fichiers de délégué de l'application. J'espère que je suis un peu clair, désolé si toujours pas :( –