IOS学习之——UITextView

原创 2016年05月30日 09:45:41

// 初始化输入框并设置位置和大小
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, 180)];
// 设置预设文本
textView.text = @“文本内容“;
// 设置文本字体
textView.font = [UIFont fontWithName:@”Arial” size:16.5f];
// 设置文本颜色
textView.textColor = [UIColor colorWithRed:51/255.0f green:51/255.0f blue:51/255.0f alpha:1.0f];
// 设置文本框背景颜色
textView.backgroundColor = [UIColor colorWithRed:254/255.0f green:254/255.0f blue:254/255.0f alpha:1.0f];
// 设置文本对齐方式
textView.textAlignment = NSTextAlignmentLeft;

//UITextView(使用须遵守UITextViewDelegate协议)
UITextView *textView = [UITextView new];
//设置是否可以编辑
textView.editable = YES;
//文本大小自适应
textView.AdjustToFit = YES;

//设置代理
textView.delegate = self;

//设置字体
textView.font = [UIFont systemFontOfSize:30];

//设置是否可以滚动
//UITextView继承于UIScrollView
textView.scrollEnabled = NO;

//UITextView 下得键盘中return 表示换行
[self.view addSubview:textView];

//消除影响(iOS7 如果把UIscrollView 加在导航中一般内容会向下走64)
self.automaticallyAdjustsScrollViewInsets = NO;
}

// iOS7中文本对齐方式有以下几种:
// enum {
// NSTextAlignmentLeft = 0, 左对齐,默认
// NSTextAlignmentCenter = 1, 居中对齐
// NSTextAlignmentRight = 2, 右对齐
// NSTextAlignmentJustified = 3, 在一个段落的最后一行自然对齐
// NSTextAlignmentNatural = 4, 默认对齐方式
// } NSTextAlignment;

// 设置自动纠错方式
textView.autocorrectionType = UITextAutocorrectionTypeNo;

// 自动纠错方式有以下几种:
// enum {
// UITextAutocorrectionTypeDefault, 默认
// UITextAutocorrectionTypeNo, 不自动纠错
// UITextAutocorrectionTypeYes, 自动纠错
// } UITextAutocorrectionType;

// 设置自动大写方式
textView.autocapitalizationType = UITextAutocapitalizationTypeNone;

// 自动大写方式有以下几种:
// enum {
// UITextAutocapitalizationTypeNone, 不自动大写
// UITextAutocapitalizationTypeWords, 单词首字母大写
// UITextAutocapitalizationTypeSentences, 句子的首字母大写
// UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
// } UITextAutocapitalizationType;

// 设置键盘的样式
textView.keyboardType = UIKeyboardTypeDefault;

// 键盘样式有以下几种:
// enum {
// UIKeyboardTypeDefault, 默认键盘,支持所有字符
// UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘
// UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符
// UIKeyboardTypeURL, 只支持URL字符的URL键盘,支持.com按钮
// UIKeyboardTypeNumberPad, 数字键盘
// UIKeyboardTypePhonePad, 电话键盘
// UIKeyboardTypeNamePhonePad, 支持输入人名的电话键盘
// UIKeyboardTypeEmailAddress, 电子邮件键盘
// UIKeyboardTypeDecimalPad, 有数字和小数点的数字键盘
// UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符
// UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
// } UIKeyboardType;

// 设置return键样式
textView.returnKeyType = UIReturnKeyDefault;

// return键有以下几种样式:
// enum {
// UIReturnKeyDefault, 默认,灰色按钮,标有Return
// UIReturnKeyGo, 标有Go的蓝色按钮
// UIReturnKeyGoogle, 标有Google的蓝色按钮,用于搜索
// UIReturnKeyJoin, 标有Join的蓝色按钮
// UIReturnKeyNext, 标有Next的蓝色按钮
// UIReturnKeyRoute, 标有Route的蓝色按钮
// UIReturnKeySearch, 标有Search的蓝色按钮
// UIReturnKeySend, 标有Send的蓝色按钮
// UIReturnKeyYahoo, 标有Yahoo的蓝色按钮
// UIReturnKeyYahoo, 标有Yahoo的蓝色按钮
// UIReturnKeyEmergencyCall, 紧急呼叫按钮
// } UIReturnKeyType;

// 设置是否可以拖动
textView.scrollEnabled = YES;
// 设置代理
textView.delegate = self;

// 自定义文本框placeholder
tip = [[UILabel alloc] initWithFrame:CGRectMake(16, 14, 320, 25)];
tip.text = @”您的意见是我们前进的最大动力,谢谢!”;
tip.font = [UIFont fontWithName:@”Arial” size:16.5f];
tip.backgroundColor = [UIColor clearColor];
tip.enabled = NO;

// 自定义文本框字数统计
count = [[UILabel alloc] initWithFrame:CGRectMake(270, 170, 35, 20)];
count.text = @”240”;
count.textAlignment = NSTextAlignmentRight;
count.font = [UIFont fontWithName:@”Arial” size:15.0f];
count.backgroundColor = [UIColor clearColor];
count.enabled = NO;

// 显示文本框及相关控件
[self.view addSubview:feedback];
[self.view addSubview:tip];
[self.view addSubview:count];

// 限制输入文本长度
- (BOOL)textView:(UITextView )textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString )text
{
if (range.location < 240)
{
return YES;
} else {
return NO;
}
}

// 自定义文本框placeholder
- (void)textViewDidChange:(UITextView *)textView
{
count.text = [NSString stringWithFormat:@”%d”, 240 - feedback.text.length];
if (textView.text.length == 0)
{
tip.text = @”您的意见是我们前进的最大动力,谢谢!”;
} else {
tip.text = @”“;
}
}

pragma mark - UITextViewDelegate协议中的方法

//将要进入编辑模式
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{return YES;}
//已经进入编辑模式
- (void)textViewDidBeginEditing:(UITextView *)textView{}
//将要结束/退出编辑模式
- (BOOL)textViewShouldEndEditing:(UITextView *)textView{return YES;}
//已经结束/退出编辑模式
- (void)textViewDidEndEditing:(UITextView *)textView{}
//当textView的内容发生改变的时候调用
- (void)textViewDidChange:(UITextView *)textView{}
//选中textView 或者输入内容的时候调用
- (void)textViewDidChangeSelection:(UITextView *)textView{}
//从键盘上将要输入到textView 的时候调用
//rangge 光标的位置
//text 将要输入的内容
//返回YES 可以输入到textView中 NO不能
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range

相关文章推荐

iOS之UITextView的使用——自定义选择文本后的菜单

1、.h #import @interface FKViewController : UIViewController @property (strong, nonatomic) IBOut...

iOS——判断UITextField/UITextView输入的字符中是否含有系统表情

在做iOS客户端开发的过程中,有可能有这样的需求:对一条内容进行评论(可是输入的评论内容中可能含有系统表情),将评论内容提交给服务器。当输入的评论内容中含有系统表情的时候不能向服务器提交这条评论,或者...

iOS开发之基础视图——UITextView

多行文本控件(UITextView)继承了UIScrollView:UIView控件,因此它默认带有滚动条。       UITextField  和  UITextView 的区别       UI...

ios开发——UITextView展示txt电子书时的页数调整

UITextView展示内容过多时,对内容进行分页以便更有效地展示每一页的内容,可以用于电子书应用中。...

iOS之UITextView的使用——通过虚拟键盘的工具条关闭虚拟键盘

1、.h #import @interface FKViewController : UIViewController @property (strong, nonatomic) IBOutl...

iOS学习笔记--如何为UITextView设置placeholder

看到过网上一些博文说是利用两个textview来实现,并且实现textview的代理方法- (BOOL)textView:(UITextView )textView shouldChangeTextI...

ios学习--UItextview

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

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

`11

ios学习笔记-Lecture5:UITextView

ios学习笔记-Lecture5:UITextView、ViewController Lifecycle、NSNotificationUITextView
  • Eva_Ios
  • Eva_Ios
  • 2015年05月06日 22:25
  • 237

iOS之UI学习-UITextView

简单介绍了UITextView的创建和使用,并讲解了文图视图相关的代理方法。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS学习之——UITextView
举报原因:
原因补充:

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