UITextView

原创 2013年12月04日 21:24:32

UITextView,即多行文本输入框。

1、创建

self.inputUITextView = [[UITextViewalloc]initWithFrame:CGRectMake(0,60, 320,150)];

2、设置textView的属性

     self.inputUITextView.textColor = [UIColorblueColor];

    self.inputUITextView.font = [UIFontfontWithName:@"Arial"size:12.0];

    self.inputUITextView.backgroundColor = [UIColorgrayColor];

    self.inputUITextView.keyboardType =UIKeyboardTypeNumbersAndPunctuation;//键盘类型

    self.inputUITextView.returnKeyType =UIReturnKeyYahoo; //返回键的类型

    self.inputUITextView.scrollEnabled =YES;

    self.inputUITextView.autoresizingMask =UIViewAutoresizingFlexibleHeight;//自适应高度

    self.inputUITextView.clearsOnInsertion =YES;

3、设置代理,并放入view的目录树

  self.inputUITextView.delegate =self;

    [self.viewaddSubview:self.inputUITextView];

4、UITextView处理键盘的几种方式

1)使用键盘的return(返回键)

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{

    if ([text isEqualToString:@"\n"]) {

        

        [textView resignFirstResponder];

        

        return NO;

        

    }

    return YES;    

}


2)

如果app有导航条,可以利用顶部的导航条,加一个完成的button

self.navigationItem.rightBarButtonItem = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDonetarget:selfaction:@selector(leaveTextView)];

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

    

    self.navigationItem.rightBarButtonItem =nil;

    

}


- (void) leaveTextView{

    [self.inputUITextViewresignFirstResponder];

}

3)使用键盘的inputAccessoryView

 UIToolbar *topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];

    topView.barStyle = UIBarStyleDefault;

    UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyboard)];

    [topView setItems:[NSArray arrayWithObjects:doneButton, nil]];

    self.inputUITextView.inputAccessoryView = topView;

-(void)dismissKeyboard

{

    [self.inputUITextView resignFirstResponder];

}

4)点击空白区域退出键盘


//添加点击手势,使得点击空白区域,使键盘收起,对应方法四

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(viewTaped:)];

    [self.view addGestureRecognizer:tapGesture];


-(void)viewTaped:(UITapGestureRecognizer*)tapGesture

{

    [self.inputUITextView resignFirstResponder];

}

详细的demo见: https://github.com/tingxuan/txUITextViewDemo

iOS中UITextView遇到的问题总结

前言 由于iOS中的UITextField不支持文本换行,所以在有换行需求时,我们只好用UITextView。 以下是在使用UITextView时很容易遇到的一些问题。 问题一:UI...
  • yidu_blog
  • yidu_blog
  • 2016年10月26日 13:04
  • 597

UITextView使用中的那些坑

本文主要是介绍在使用UITextView的时候遇到的问题, 这也主要是源于前几天项目需要使用UITextView进行文本展示, 遇到了关于UITextView设置内容后无法滚动到顶部的问题....
  • wlaizff
  • wlaizff
  • 2016年06月04日 21:30
  • 2669

UITextView的动态适应高度处理

本文章主要是处理自适应高度的。想到自适应高度,想必大家都知道使用boundingRectWithSize:options:attributes 来计算。嗯确实,这是个利器。其本上能正确返回字体的rec...
  • fengsh998
  • fengsh998
  • 2015年05月02日 21:58
  • 21894

UITextView 属性及使用详解

//初始化并定义大小     UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 3...
  • zwp438123895
  • zwp438123895
  • 2014年08月06日 09:33
  • 1185

创建带分隔线的UITextView——像笔记本一样

// //  HXLLinedTextView.m //  HXLLinedTextView // //  Created by Hao Xuliang on 6/08/13. //  Co...
  • haoxuliangdev
  • haoxuliangdev
  • 2013年08月07日 11:10
  • 2023

iOS中UITextView遇到的问题总结

前言 由于iOS中的UITextField不支持文本换行,所以在有换行需求时,我们只好用UITextView。 以下是在使用UITextView时很容易遇到的一些问题。 问题一:UIText...
  • DJH996064549
  • DJH996064549
  • 2016年02月22日 14:06
  • 604

UILabel + UITextView 字间距和行间距

UILabel:创建category .h #import @interface UILabel (JKLableChangeLineSpace) /** * 改变行间距 */ +...
  • wujakf
  • wujakf
  • 2017年05月13日 15:03
  • 638

IOS的基本控件的使用-UITextView(单行文本输入区域)

ViewController.h //  UITextField // //  Created by mac on 2016/10/28. //  Copyright © 20...
  • gaojian123321
  • gaojian123321
  • 2016年10月28日 17:34
  • 540

ios UITextView bug 输入文字跳动bug问题 (・ˍ・*)

ios UITextView 输入中文时文字跳动问题 当输入中文文字多于显示的textview框时,最后一行的文字有时候会因为输入的时候而跳动把最后一行的文字盖住一半,再输入时却又跳起来显示. 这是什...
  • banzhiyao
  • banzhiyao
  • 2014年10月29日 19:47
  • 3857

iOS中 UITextView文本视图 技术分享

文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文。 UITextField的用处多,UITextView的用法也不少。常见UITextV...
  • qq_31810357
  • qq_31810357
  • 2015年10月19日 20:53
  • 2150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITextView
举报原因:
原因补充:

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