UITextView 解决字数限制问题和placehorder问题

UITextView没有placehorder这个属性,所以我们要在textView上加个label,充当placehorder。下面代码会一一展现

- (void)createUI{

UITextView * textView = [[UITextView alloc] initWithFrame:CGRectMake(52, 50, SCREEN_WIDTH - 50, 50)];

textView.backgroundColor=[UIColor orangeColor]; //背景色

textView.editable = YES;        //是否允许编辑内容,默认为“YES”

textView.delegate = self;       //设置代理方法的实现类

//        textView.font=[UIFont fontWithName:@"Arial" size:13]; //设置字体名字和字体大小;

textView.font = [UIFont systemFontOfSize:13];

textView.returnKeyType = UIReturnKeyDefault;//return键的类型

//            textView.keyboardType = UIKeyboardTypeDefault;//键盘类型

textView.spellCheckingType = UITextSpellCheckingTypeYes;

textView.textAlignment = NSTextAlignmentLeft; //文本显示的位置默认为居左

textView.textColor = [UIColor blackColor];

[self.view addSubview:textView];

UILabel * placehorder = [[UILabel alloc] initWithFrame:CGRectMake(59, 4, SCREEN_WIDTH - 50, 40)];

placehorder.textColor = [UIColor lightGrayColor];

placehorder.text = @"placehorder";

placehorder.font = [UIFont systemFontOfSize:13];

placehorder.tag = 1;

[textView addSubview:placehorder];

}

#pragma mark - UITextViewDelegate

- (void)textViewDidBeginEditing:(UITextView *)textView{

UILabel *placehorder = (UILabel *)[self.view viewWithTag:1];

if (textView.text.length > 0) {

placehorder.hidden = YES;

}else{

placehorder.hidden = NO;

}

}

- (void)textViewDidChange:(UITextView *)textView{

UILabel *placehorder = (UILabel *)[self.view viewWithTag:1];

if (placehorder.tag == 1) {

if (textView.text.length > 0) {

placehorder.hidden = YES;

}else{

placehorder.hidden = NO;

}

}

if (textView.markedTextRange==nil && textView.text.length > 45) {

textView.text=[textView.text substringToIndex:45];

}

}

时间: 2024-10-19 00:26:49

UITextView 解决字数限制问题和placehorder问题的相关文章

UITextView的字数限制 及 添加自定义PlaceHolder

- (void)textViewDidChange:(UITextView *)textView{ NSString *temp=textView.text; //字数超过限制数量时,进行截取替换 if([[textView text] length] > _limitCharactorNumbers){ textView.text=[temp substringToIndex:_limitCharactorNumbers]; } //显示剩余字数 _leftNumberLabel.text =

UITextView限制字数与行数

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ CGFloat textHeight = textView.contentSize.height; NSLog(@"%@",[NSString stringWithFormat:@"%f",textHeight]); if (range.loc

iOS UITextView限制字数

//UITextVIew输入框 self.contentTV = [[UITextView alloc] initWithFrame:CGRectMake(0, lineVIewOne.frame.origin.y+lineVIewOne.frame.size.height+1,self.view.frame.size.width, 160)]; self.contentTV.backgroundColor = [UIColor whiteColor]; self.contentTV.textA

详释(常见UITextView 输入之字数限制)之一---固定长度

好久没有写文章了,今天上来写写,发现增多了markDown编辑器.挺不错,后续研究一下,今天暂写文章先.好了,不废话. 如题,相信大家看到这个标题都不想看文章了,这有什么好说的,网上一搜一大把.好吧,自认为是一搜一大把的跳过,有兴趣的就看完...... 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSR

UITextView 限制输入字数

尊重原创  http://blog.csdn.net/fengsh998/article/details/45421107 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;//有输入时触但对于中文键盘出示的联想字选

用视图上移解决UITextField/UITextView被键盘遮盖问题

先看看UILabel/UITextField/UITextView的区别: UILabel 显示的文本只读,无法编辑,可以根据文字个数自动换行:UITextField 可编辑本文,但是无法换行,只能在一行显示:当点击键盘上的return时会收到一个事件做一些事情.UITextView 可编辑文本,提供换行功能. 解决UITextField/UITextView被键盘遮盖问题可以主要参考https://gist.github.com/ruandao/9429305 先记着,有时间做一些整理 参考链

OC中限制UITextView的最大字数的实现

一.属性 //自定义的textview @property (weak, nonatomic) IBOutlet UITextView *textview; //添加一个bool类型的属性 @property (nonatomic, assign) BOOL isNameTextFieldEnbable; 二.监听通知.并初始化BOOL值 //UITextView的监听方法 [[NSNotificationCenter defaultCenter] addObserver:self select

UITextField && UITextView 限制限制字数做法

有许多时候都有这种需求,那就是限制字数操作. 在没有一套好的方法之前,比如textView的限制方法就是利用代理方法 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if (textView.text.length  >= number) { textView.text = [textView.text substrin

Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧. 第二点,目前主流app的处理方案也各有不同,qq5.0以前的版本,发表说说貌似是没有字数限制的(我试了一个350字左右的照样发), 5.0以后限制了,这样如果用户