2013-04-15 2 views
0

Je veux ajouter UITextView la fonction de Placeholder, donc je fais comme ceci:rupture de Programe quand faire le délégué se

@interface UIPlaceholderTextView : UITextView <UITextViewDelegate> 
{ 
    UILabel *placeholderLabel; 
} 

Et quand le texte modifié dans la UITextView, la méthode est appelée:

#pragma UITextViewDelegate 
-(void)textViewDidChange:(UITextView *)textView 
{ 
    if (textView.text.length==0) 
    { 
     placeholderLabel.hidden=false; 
    } 
    else 
    { 
     placeholderLabel.hidden=true; 
    } 

} 

Dans le simulateur IOS 6.1 tout va bien. Mais la rupture de programe quand je courais dans le simulateur IOS 5.1, et je trouve que le problème se produit ici:

self.delegate = self; 

Il semble qu'il ne convient pas de faire lui-même délégué. Mais je ne connais pas la raison exacte, et quelle est la bonne façon de faire?

+1

Que dit-elle? – Peres

+0

si vous vérifiez votre code dans iOS6 iPatel

+2

avez-vous essayé http://stackoverflow.com/questions/1328638/placeholder-in-uitextview –

Répondre

0

Où attribuez-vous le délégué à lui-même? Je l'ai mis dans le initWithFrame et ça a juste bien fonctionné (même avec la cible de déploiement iOS 5.1)

Questions connexes