我想从 UItextview 辞职键盘。如何以编程方式实现 UItextView 委托方法。
问问题
281 次
4 回答
6
如果您希望您的键盘在单击返回时退出,那么您必须编写,实现此方法....
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
只需复制和粘贴.... :)
于 2012-03-16T13:07:35.930 回答
5
确保您声明支持该UITextViewDelegate
协议。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
于 2012-03-16T12:37:07.590 回答
4
您应该使用 UITextViewDelegate。您必须在类头中声明使用协议,例如:
@interface YourClass:NSObject<UITextViewDelegate>
然后在您的 .m 中,您应该在某些时候将您的类设置为委托,例如:
textView.delegate = self;
然后,再次在您的 .m 中,您必须实现委托方法,特别是:
textViewDidChange:
于 2012-03-16T12:28:59.117 回答
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;
}
于 2012-03-16T12:32:33.923 回答