ios基础篇(六)——UITextView的常用方法及技巧
上篇说到了UITextField,我们先来说说UITextView和UITextField的不同:
UITextView支持多行输入; UITextFiled只支持单行;
UITextView没有placeholder属性; UITextField有placeholder属性
UITextview继承自UIScrollerView; UITextField继承自UIView
下面来说UITextField的使用及技巧:
一、新建一个textView
//初始化
textView = [[UITextView alloc] initWithFrame:(CGRect){,,,}];
//背景颜色
textView.backgroundColor = [UIColor yellowColor];
//圆角
textView.layer.cornerRadius = ;
textView.layer.masksToBounds = YES;
//字体大小
textView.font = [UIFont systemFontOfSize:];
//对齐方式
textView.textAlignment = NSTextAlignmentLeft;
//设置代理,需要在interface中声明UITextViewDelegate
textView.delegate = self;
//添加滚动区域
textView.contentInset = UIEdgeInsetsMake(, , -, -);
//是否可以滑动
textView.scrollEnabled =YES;
//文本
textView.text = @"UITextView";
//加入视图
[self.view addSubview:textView];
如图:
给TextView加一个有色边框,并设置背景图片
textView.layer.borderWidth = ;
textView.layer.borderColor = [UIColor colorWithRed:0.2 green:0.4 blue:0.8 alpha:];
//给图层添加背景图片
textView.layer.contents = [UIImage imageNamed:@"pic"].CGImage;
如图:
二、键盘操作
//返回键的类型
textView.returnKeyType = UIReturnKeyDefault; //键盘类型
textView.keyboardType = UIKeyboardTypeDefault;
三、UITextView退出键盘的几种方式
(1)如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实现UITextViewDelegate。
- (void)textViewDidBeginEditing:(UITextView *)textView { UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneAction)]; self.navigationItem.rightBarButtonItem = done; } - (void)textViewDidEndEditing:(UITextView *)textView { self.navigationItem.rightBarButtonItem = nil; } - (void) doneAction { [textView resignFirstResponder]; }
(2)如果你的textvView里不用回车键,可以把回车键当做退出键盘的响应键。
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{ if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; }
(3)还有你也可以自定义其他视图控件加载到键盘上用来退出,比如在弹出的键盘上面加一个view来放置退出键盘的Done按钮。
//定义一个toolBar
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(, , , )]; //设置style
[topView setBarStyle:UIBarStyleBlack]; //定义两个flexibleSpace的button,放在toolBar上,这样完成按钮就会在最右边
UIBarButtonItem * button1 =[[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:self action:nil]; UIBarButtonItem * button2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:self action:nil]; //定义完成按钮
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)]; //在toolBar上加上这些按钮
NSArray * buttonsArray = [NSArray arrayWithObjects:button1,button2,doneButton,nil];
[topView setItems:buttonsArray]; [textView setInputAccessoryView:topView];
如图:
四、隐藏键盘
- (void)resignKeyboard {
[textView resignFirstResponder];
}
五、添加键盘的监听事件
//注册通知,监听键盘弹出事件
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow) name:UIKeyboardDidShowNotification object:nil]; //注册通知,监听键盘消失事件
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHidden) name:UIKeyboardDidHideNotification object:nil];
ios基础篇(六)——UITextView的常用方法及技巧的更多相关文章
- ios基础篇(十六)——UIWebView的基本使用
UIWebView是内置的浏览器控件,可以用它来浏览网页.打开文档等.UIWebView是一个混合体,具体的功能控件内置的,实现一些基本的功能.UIWebView可以查看Html网页,pdf文件,do ...
- ios基础篇(二十六)—— UITableViewCell的分组索引与标记
一.表视图的索引目录 首先要创建一个TableView,之前有说过,这里就不详细说了(参考前面第十四篇). 直接贴代码吧, #import "ViewController.h" @ ...
- ios基础篇(七)——UISwich、UISlider、UIProgressView的用法总结
一.UISlider UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互:UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择 ...
- ios基础篇(三)——UIButton的详细介绍
按钮UIButton是ios开发中最常见的控件之一,下面来介绍UIButton的详细内容: 一.UIButton的定义 UIButton *button=[[UIButton buttonWithTy ...
- ios基础篇(二十九)—— 多线程(Thread、Cocoa operations和GCD)
一.进程与线程 1.进程 进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内: 如果我们把CPU比作一个工厂,那么进程就好比工厂的车间,一个工厂有 ...
- ios基础篇(二十七)—— Json解析
一.什么是Json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使 ...
- ios基础篇(二十五)—— Animation动画(UIView、CoreAnimation)
Animation主要分为两类: 1.UIView属性动画 2.CoreAnimation动画 一.UIView属性动画 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIVie ...
- ios基础篇(二十四)—— 文字、图片的绘制及其自定义Button
这篇文章我们主要来拿官方的控件来研究一下,我们来仿照官方的控件,自己来实现它提供的控件: 首先来看看基本的图片与文字的绘制,很简单. 一.imageView 所有的视图都是继承自UIView,所以我们 ...
- iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...
随机推荐
- ironpython 2.75 在c#中的使用
ironpython的介绍请自行搜索. 一句话,python是一个类似lua js的动态预言.ironpython是在net环境执行python的类库. 效果:在网站中调用一个python文件test ...
- Build Up Your Own Lightweight Workspace
写一段简单的批处理(.bat)放在自己建的workspace下. @set path=C:/Program Files/Java/jdk1.8.0_101/bin;%PATH%; //jdk的路径 @ ...
- jquery input选择弹框
index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...
- JavaWeb学习总结(三)—Servlet
1. 什么是Servlet * Servlet是JavaWeb三大组件之一(Servlet.Filter.Listener) ,Servlet是用来处理客户端请求的动态资源,按照一种约定俗成的称呼习惯 ...
- Python学习笔记13—错误和异常
常见的异常:
- Android手机分辨率基础知识(DPI,DIP计算)三
获得屏幕分辨率和密度,尺寸的代码片段 DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaul ...
- 3 javascript
3 javascript javascript基础 html: 负责了一个页面的结构. css: 负责了一个页面的样式. javascript: 负责与用户进行交互. 1997年欧洲的计算机 ...
- WebKit渲染基础(转载 学习中。。。)
概述 WebKit是一个渲染引擎,而不是一个浏览器,它专注于网页内容展示,其中渲染是其中核心的部分之一.本章着重于对渲染部分的基础进行一定程度的了解和认识,主要理解基于DOM树来介绍Render树和R ...
- Java中去除StringBuffer最后一个字符
原文:http://www.cnblogs.com/shaozhiheng/p/3661714.html 由于编写了这么一段代码: Iterator it3 = set.iterator(); whi ...
- 转:switch内部的变量定义问题(goto类似)
自我总结:(之前查过goto和switch的资料但是一直没有搞懂,直到今天看到这个讨论才懂了) 1 int a; 是个描述,而不是个命令,只是说明我需要空间,编译器会保证在相应的作用域之中这 ...