2016-09-07 2 views
0

i Textview in iOS-Anwendung ist, aber ich irgendein Problem konfrontiert bin, wenn ich Platzhalter in meinem Textview liege der Text nicht verbergen, wenn Klick in Textview kann so jeder hier die Platzhalter in Textview arbeitetTextview Platzhalter in ios Ziel c

+0

uns Bitte zeigen Sie, was Sie versucht haben – Arun

+0

es einfach zuerst überprüfen: http: // stackoverflow.com/questions/4835576/how-to-add-placeholder-text-in-uitextview-in-iphone-sdk – Vishal

+0

Sie müssen mit TextView Delegate spielen, um den Text zu verstecken, wenn Klicken Sie in Textansicht ... – Vishal

Antwort

4

Sie können Textview Delegat Methoden verwenden, um Platzhalter-Text programmatisch

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    if ([textView.text isEqualToString:@"myPlaceHolderText"])  
    { 
    textView.text = @""; 
    } 
    [textView becomeFirstResponder]; 
} 

- (void)textViewDidEndEditing:(UITextView *)textView 
{ 
    if ([textView.text isEqualToString:@""]) { 
     textView.text = @"myPlaceHolderText"; 
    } 
    [textView resignFirstResponder]; 
} 
2

HINWEIS zu verwalten: Es gibt keine eingebaute Funktion für Platzhalter in Textviews wie Textfelder.

ein IBOutlet auf Ihre textView in .h Datei wie wie unten unter

enter image description here

und fügen <UITextViewDelegate> wie unten

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController<UITextViewDelegate> 
@property (weak, nonatomic) IBOutlet UITextView *mytextView; 


@end 

dann in Ihrer .m Datei, implementieren textviewdelegate Methoden erstellen.

enter image description here

und wenn Sie etwas hinaus wollen, versuchen Sie Methode folgenden auch mit obigen Code

- (void)textViewDidChange:(UITextView *)textView 
{ 
    NSString *mtvt = textView.text; 
    if ([mtvt isEqualToString:@""]) { 
     self.mytextView.text = @"Your message here"; 
    } 

} 
+0

Vielen Dank es ist wirklich zu gut –

+0

Wenn dies hilfreich ist, bitte akzeptieren. –

1

Probieren Sie diese

1.Erstellen ein Etikett und ein- oder ausblenden

-(void)viewdidLoad 
{ 
    UILabel*placeHolderLabel = [UILabel alloc]initWithFrame:CGRectMake(0,0,300,30)]; 
    placeHolderLabel.text = @"PlaceHolderText"; 
    placeHolderLabel.textColour = [UIColour lightGrayColor]; 
    [yourTextView addSubView:placeHolderLabel]; 
} 

//2.TextViewDelegate 

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    placeHolderLabel.hidden = YES; 
    [textView becomeFirstResponder]; 
} 

- (void)textViewDidEndEditing:(UITextView *)textView 
{ 
    if ([textView.text isEqualToString:@""]) { 
     placeHolderLabel.hidden = NO; 
    } 
    [textView resignFirstResponder]; 
} 
1

Es ist nicht möglich, einen Platzhalter in UITextView zu erstellen, aber Sie können damit einen Effekt wie den Platzhalter erzeugen.

- (void)viewDidLoad{ 
    commentTxtView.text = @"Comment"; 
    commentTxtView.textColor = [UIColor lightGrayColor]; 
    commentTxtView.delegate = self; 
} 

- (BOOL) textViewShouldBeginEditing:(UITextView *)textView 
{ 
    commentTxtView.text = @""; 
    commentTxtView.textColor = [UIColor blackColor]; 
    return YES; 
} 

-(void) textViewDidChange:(UITextView *)textView 
{ 
    if(commentTxtView.text.length == 0){ 
     commentTxtView.textColor = [UIColor lightGrayColor]; 
     commentTxtView.text = @"Comment"; 
     [commentTxtView resignFirstResponder]; 
    } 
} 

-(void) textViewShouldEndEditing:(UITextView *)textView 
{ 
    if(commentTxtView.text.length == 0){ 
     commentTxtView.textColor = [UIColor lightGrayColor]; 
     commentTxtView.text = @"Comment"; 
     [commentTxtView resignFirstResponder]; 
    } 
} 

oder Sie können Etikett in Textview hinzufügen wie

lbl = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 0.0,textView.frame.size.width - 10.0, 34.0)]; 


[lbl setText:kDescriptionPlaceholder]; 
[lbl setBackgroundColor:[UIColor clearColor]]; 
[lbl setTextColor:[UIColor lightGrayColor]]; 
textView.delegate = self; 

[textView addSubview:lbl]; 

und setzen

- (void)textViewDidEndEditing:(UITextView *) textView 
{ 
    if (![textView hasText]) { 
     lbl.hidden = NO; 
    } 
} 

- (void) textViewDidChange:(UITextView *)textView 
{ 
    if(![textView hasText]) { 
     lbl.hidden = NO; 
    } 
    else{ 
     lbl.hidden = YES; 
    } 
} 
Verwandte Themen