2012-03-16 38 views
2

我想從UItextview中退出鍵盤。如何以編程方式實現UItextView委託方法。UIText查看代表問題

+0

可能的重複http://stackoverflow.com/questions/8871054/resign-keyboard-in-uitextfield – Emil 2012-03-16 12:20:52

+0

我正在使用 – gauri 2012-03-16 12:25:31

+0

究竟你想要什麼?請具體.. – Krunal 2012-03-16 12:26:28

回答

4

您應該使用UITextViewDelegate。你必須聲明你的類的頭就像使用協議:

@interface YourClass:NSObject<UITextViewDelegate> 

然後在您的m,你應該像設置你的類爲代表的一些點:

textView.delegate = self; 

然後在您的m再次,你必須實現委託方法,具體爲:

textViewDidChange: 

您可以瞭解更多信息閱讀http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html協議引用。

4

有沒有具體的委託方法,當用戶點擊「返回」爲UITextView的認識 所以,你可以像這樣

//In .h File 

@interface BlahBlah : UIViewController <UITextViewDelegate> 
    @property(nonatomic, retain) IBOutlet UITextView *myTextView; 
@end 

//In .m File 
@implementation BlahBlah 

@synthesis myTextView; 

//In some method, can be viewDidLoad OR viewDidAppear . your convenience ;) 
{ 
    self.myTextView.delegate = self; 
} 

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 

     if([text isEqualToString:@"\n"]) { 
      [textView resignFirstResponder]; 
      return NO; 
     } 

     return YES; 
} 
5

確保您申報的UITextViewDelegate協議的支持。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 

    if([text isEqualToString:@"\n"]) { 
     [textView resignFirstResponder]; 
     return NO; 
    } 

    return YES; 
} 
+0

雖然這是真的,我也沒有很好地工作... ... - – Krunal 2012-03-17 07:42:03

6

如果妳想要的回報上,然後單擊u必須寫,實施這種方法時烏爾鍵盤辭職....

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 

if([text isEqualToString:@"\n"]) { 
    [textView resignFirstResponder]; 
    return NO; 
} 

return YES; 

}

成全它複製和粘貼.... :)