UITextField 和 UITextView实现字数限制

来源:互联网 发布:java生成utf8 xml文件 编辑:程序博客网 时间:2024/05/21 02:52

iOS开发过程中,我们会需要实现限制字数,也就是输入若干字以后就无法继续输入的功能,以UITextFiled为例,实现此功能只需要以下几步。

1. 在@interface中声明代理

@interface MyViewController : UIViewController <UITextFieldDelegate>

2. 设置UITextField的delegate,可以在viewDidLoad方法中实现,也可以在nib文件(或是storyboard)中实现。

textField.delegate = self;

3. 实现代理方法。

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {    NSString *temp = [textField.text stringByReplacingCharactersInRange:range withString:string];    if (temp.length > 15) {        textField.text = [temp substringToIndex:15];        return NO;    }   return YES;}

对于UITextView,只需在UITextView的textViewDidChange:代理方法中实现这段代码即可。




iOS发中,发现UITextView没有想UITextFieldtextFieldShouldReturn:这样的方法,那么要实现UITextView return键隐藏键盘,可以通过判断输入的字符是不是回车符来实现。

首先,声明要实现UITextView 的delegate。

[plain] view plaincopy
  1. @interface MyViewController :UIViewController <UITextViewDelegate>  


然后, 设置textView的delegate.

textView.delegate =self;

通常在viewDidLoad中设置此属性,或在nib(或storyboard)中。

最后,实现代理方法。

[plain] view plaincopy
  1. -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text  
  2. {  
  3.     if ([text isEqualToString:@"\n"]) {  
  4.         [textView resignFirstResponder];   
  5.        return NO;  
  6.    }  
  7.    return YES;  
  8. }  




iOS开发中,要想实现点击键盘上的return键隐藏键盘的效果的话,只需要以下几步。

我们先说UITextField return键隐藏键盘的实现,下次在说UITextView的。

首先,在@interface中声明要实现UITextField的delegate。

@interface MyViewController :UIViewController <UITextFieldDelegate>

然后, 设置 TextField的delegate (假定叫做textField):

   textField.delegate =self;


通常在viewDidLoad方法中设置此属性,也可以在nib(或storyboard)文件中设置。


最后,实现UITextField的textFieldShouldReturn:代理方法。

 

  - (BOOL)textFieldShouldReturn:(UITextField *)textField {     [textField resignFirstResponder];     return YES;   }
转http://blog.csdn.net/soloterry/article/details/7625585牛人博客;

原创粉丝点击