2012-03-16 74 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; 

}

成全它复制和粘贴.... :)