iOS_UITextView的整理

原创 2016年05月30日 21:00:59

最近工作灰常忙,没有时间学习总结新的资料,还是针对基础内容发篇文章,把之前的总结发上来一起分享~~


//初始化 
    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;
    }
}


感谢观看,学以致用更感谢~





版权声明:本文为博主原创文章,转载时请声明:http://blog.csdn.net/siwen1990 转载

UITextView的使用详解

此文转载自:http://blog.sina.com.cn/s/blog_9693f61a0101aode.html (PS:我没说谎哦!看,复制的背景都在呢) UITextView的...

iOS-UITextField和UITextView隐藏键盘

self._textField.returnKeyType=UIReturnKeyDone; self._textField.delegate=self; - (BOOL)textFieldSho...

ios学习--UItextview

1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: C代码   #import         @interface TextViewControll...

iOS个人整理07-UITextView与键盘回收与键盘遮挡输入框

一、UITextView 可以实现多行输入的文本框,基本属性与UITextField相似,可以输入多行,可以滚动。 UITextView还有个代理方式可以控制输入文字的数量,较为常用 //当前输入的...

iOS UITextView 高度随文字自动增加,并跟随键盘移动(二)

接着上节我们来实现 输入框自动调节高度 首先,我们得知道,要判断是否该换行了 前提是得知道 一行可以输入多少文字, 我们很容易能知道我们输入框的宽度,那么下来只要知道每个文字的宽度就可以计算一行文字的...

iOS经典讲解之妙用UITextView

// 添加textView - (void)addTextView { //UITextView可以使用父类的初始化方法initWithFrame:也可使用iOS7.0出现的自己独有的的初始化...

iOS学习笔记-----UITextField与UITextView属性与方法

`11

IOS UITextView内容垂直居中方法

- (void)contentSizeToFit { //先判断一下有没有文字(没文字就没必要设置居中了) if([self.textView.text length]>0) ...

iOS 富文本风格NSMutableParagraphStyle、定制UITextView插入图片和定制复制

问题一开发过程中,经常会遇到动态计算行高的问题,  - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptio...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS_UITextView的整理
举报原因:
原因补充:

(最多只允许输入30个字)