iOS开发系列之四 - UITextView 用法小结

// 初始化输入框并设置位置和大小
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;

// 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 = @"";
    }
}

本文固定链接:http://www.itechzero.com/coding/objective-c/ios-development-series-four-uitextview-usage-summary/,转载请注明出处。

iOS开发系列之四 - UITextView 用法小结

时间: 2025-01-07 14:38:20

iOS开发系列之四 - UITextView 用法小结的相关文章

iOS开发系列之一 - UIButton 用法小结

// 初始化按钮并设置类型 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的UIButton类型有以下6种: // typedef enum { // UIButtonTypeCustom = 0, 自定义风格 // UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要做详细说明用 // UIButto

iOS开发系列之三 - UITextField 用法小结

// 初始化输入框并设置位置和大小 UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 100, 300, 30)]; // 设置输入框提示 textField.placeholder = @"TextField Tip"; // 输入框中预先输入的文字 textField.text = @"预先输入的文字"; // 设置输入框文本的字体 textField.font

iOS开发系列之二 - UILabel 用法小结

// 初始化标签 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; // 设置标签文字 label.text = @"This is a test text.This is a test text.This is a test text."; // 设置标签文字字体 // 使用系统字体 label.font = [UIFont systemFontOfSize:20]; //

iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 转载:http://www.cnblogs.com/kenshincui/p/4186022.html#avFoundationCamera --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音

iOS开发系列--网络开发

iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 50097 阅读, 53 评论, 收藏,  编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession

iOS开发系列--Swift进阶

概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用Swift进行iOS开发还是不够的.在这篇文章中将继续介绍一些Swift开发中一些不常关注但是又必备的知识点,以便对Swift有进一步的了解. 访问控制 和其他高级语言一样Swift中也增加了访问控制,在Swift中提供了private.internal.public三种访问级别,但是不同的是Swift中的访问

iOS开发系列--Swift语言

Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了 ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中你可以看到C#.Java.Javascript.Python等多种语言的影子.同时在 2015年的WWDC上苹果还宣布Swift的新版本Swift2.0,并宣布稍后Swift即将开源,除了支持iOS.OS X之外还将支持linux. 本文将继续iOS开发系列教程,假设读者已经有了其他语言基础(强烈建

IOS开发系列--C语言之构造类型

概述 在第一节中我们就提到C语言的构造类型,分为:数组.结构体.枚举.共用体,当然前面数组的内容已经说了很多了,这一节将会重点说一下其他三种类型. 结构体 枚举 共用体 结构体 数组中存储的是一系列相同的数据类型,那么如果想让一个变量存储不同的数据类型就要使用结构体,结构体定义类似于C++.C#.Java等高级语言中类的定义,但事实上它们又有着很大的区别.结构体是一种类型,并非一个变量,只是这种类型可以由其他C语言基本类型共同组成. // // main.c // ConstructedType

iOS开发系列--网络开发网络联网程序

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理