iOS_UITextView的整理
来源:互联网 发布:淘宝代销怎么填写品牌 编辑:程序博客网 时间:2024/05/16 18:14
最近工作灰常忙,没有时间学习总结新的资料,还是针对基础内容发篇文章,把之前的总结发上来一起分享~~
//初始化 UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)]; textview.backgroundColor=[UIColor whiteColor]; textview.scrollEnabled = NO; //当文字超过视图的边框时是否允许滑动,默认为“YES” textview.editable = YES; //是否允许编辑内容,默认为“YES” textview.delegate = self; //设置代理方法的类给予 textview.font=[UIFont fontWithName:@"Arial" size:18.0]; //设置字体与大小; textview.returnKeyType = UIReturnKeyDefault;//return键的类型 textview.keyboardType = UIKeyboardTypeDefault;//键盘类型 textview.textAlignment = NSTextAlignmentLeft; //文字的显示 textview.dataDetectorTypes = UIDataDetectorTypeAll; //显示数据类型的连接模式(如电话号码、网址、地址等) textview.textColor = [UIColor blackColor];//文字颜色 textview.text = @"UITextView详解";//文本内容 [self.view addSubview:textview];//添加
UITextView的代理:
//将要开始编辑- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;//将要结束编辑- (BOOL)textViewShouldEndEditing:(UITextView *)textView;//开始编辑- (void)textViewDidBeginEditing:(UITextView *)textView;//结束编辑- (void)textViewDidEndEditing:(UITextView *)textView;//内容将要发生改变编辑- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;//内容发生改变编辑- (void)textViewDidChange:(UITextView *)textView;//焦点发生改变- (void)textViewDidChangeSelection:(UITextView *)textView;
下面是我们经常使用的一些小方法(参考资料-风之语2018的博客):
//有时候我们要控件自适应输入的文本的内容的高度,只要在textViewDidChange的代理方法中加入调整控件大小的代理即可- (void)textViewDidChange:(UITextView *)textView{ //计算文本的高度 CGSize constraintSize; constraintSize.width = textView.frame.size.width-16; constraintSize.height = MAXFLOAT; CGSize sizeFrame =[textView.text sizeWithFont:textView.font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; //重新调整textView的高度 textView.frame = CGRectMake(textView.frame.origin.x,textView.frame.origin.y,textView.frame.size.width,sizeFrame.height+5);}
//如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。代码如下:-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES;}
//控制输入文字的长度和内容,可通调用以下代理方法实现- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if (range.location>=100) { //控制输入文本的长度 return NO; } if ([text isEqualToString:@"\n"]) { //禁止输入换行 return NO; } else { return YES; }}
感谢观看,学以致用更感谢~
0 0
- iOS_UITextView的整理
- 整理整理自已发表的文章
- 一些偏的数据结构整理【整理+复习】
- 啊,整理整理收藏的PS3游戏
- 数据类型转换的整理
- FreeTextBox的ToolbarButton整理
- 经典的asp整理
- FreeTextBox的ToolbarButton整理
- 整理的一些网站
- 整理的Transact_SQL
- 整理的一些东西
- 信息整理的能力
- 整理的资源
- 收集整理的代码
- 整理的JasperReport资料
- 整理的JasperReport资料
- EXISTS的使用(整理)
- 整理的JasperReport资料
- LSM-tree 一种高效的索引数据结构
- 用malloc动态申请一个二维数组的三种方法
- 整理有关javaScript的知识2
- JavaScript JSON 学习笔记
- LDAP简单介绍
- iOS_UITextView的整理
- shell(四)
- 【记账小助手】项目文档(包含需要用到的知识点)
- 安卓对象传递_二
- poj 3378 pascal
- R语言绘制K线图
- 计算机网络——万维网
- 一些错误和解决办法--01
- Easy-题目51:203. Remove Linked List Elements