iOS 开发-UITextView(第二种输入框)的使用

UITextView的基本使用

1. 创建UITextView

self.textView = [[UITextView alloc] initWithFrame:(CGRectMake(0, 264, SCREEN_Width, 100))];

2. UITextView属性

    text    设置文本显示内容

self.textView.text = @"小鬼  叫帅哥  叫帅哥不打你 ";

    backgroundColor    设置背景色

self.textView.backgroundColor = [UIColor blueColor];

    scrollEnabled    当文本内容超出视图边框时是否允许滑动, 默认为YES

self.textView.scrollEnabled = NO;

    editable    设置是否允许编辑文本内容 默认为YES(可编辑)

self.textView.editable = YES;

    delegate    设置代理方法的实现类

self.textView.delegate = self;

    font    设置字体名字和大小

self.textView.font = [UIFont fontWithName:@"Arial" size:16.0f];

    returnKeyType    设置键盘上的return键的类型

self.textView.returnKeyType = UIReturnKeyDefault;

UIReturnKeyType    枚举类型

    UIReturnKeyDefault    默认:灰色按钮,标有Return

    UIReturnKeyGo    标有Go的蓝色按钮

    UIReturnKeyGoogle    标有Google的蓝色按钮,用于搜索

    UIReturnKeyJoin    标有Join的蓝色按钮

    UIReturnKeyNext    标有Next的蓝色按钮

    UIReturnKeyRoute    标有Route(路线; 途径; 路途;)的蓝色按钮

    UIReturnKeySearch    标有Search的蓝色按钮

    UIReturnKeySend    标有Send的蓝色按钮

    UIReturnKeyYahoo    标有Yahoo!的蓝色按钮,用于搜索

    UIReturnKeyDone    标有Done的蓝色按钮

    UIReturnKeyEmergencyCall    紧急呼叫按钮

    keyboardType    键盘类型

self.textView.keyboardType = UIKeyboardTypeDefault;

UIKeyboardType    枚举类型

    UIKeyboardTypeDefault     默认键盘:支持所有字符

    UIKeyboardTypeASCIICapable    支持ASCII的默认键盘

    UIKeyboardTypeNumbersAndPunctuation    标准电话键盘,支持+*#等符号

    UIKeyboardTypeURL    URL键盘,有.com按钮;只支持URL字符

    UIKeyboardTypeNumberPad    数字键盘

    UIKeyboardTypePhonePad    电话键盘

    UIKeyboardTypeNamePhonePad    电话键盘,也支持输入人名字

    UIKeyboardTypeEmailAddress    用于输入电子邮件地址的键盘 

    textAlignment    文本内容居左还是居中还是居右

self.textView.textAlignment = NSTextAlignmentLeft;    居左显示

self.textView.textAlignment = NSTextAlignmentCenter;    居中显示

self.textView.textAlignment = NSTextAlignmentRight;    居右显示

NSTextAlignment    枚举类型(常见食用如上)

    dataDetectorTypes    显示数据类型的连接模式(如电话号码、网址、地址等)

self.textView.dataDetectorTypes = UIDataDetectorTypeAll;

UIDataDetectorTypes    枚举类型 显示数据类型的连接模式

    UIDataDetectorTypePhoneNumber    检测格式化为电话号码的字符串

    UIDataDetectorTypeLink    检测格式为URL的字符串

    UIDataDetectorTypeAddress    检测格式为地址的字符串

    UIDataDetectorTypeCalendarEvent    检测格式化为日历事件的字符串

    UIDataDetectorTypeShipmentTrackingNumber    检测格式化为包裹递送公司的跟踪号码的字符串

    UIDataDetectorTypeFlightNumber    检测格式化为航空公司航班号的字符串

    UIDataDetectorTypeLookupSuggestion    检测格式化为用户可能要查找的信息的字符串

    UIDataDetectorTypeNone    不支持超链接

    UIDataDetectorTypeAll    接收所有类型的字符串

    textColor    设置文本内容字体颜色

self.textView.textColor = [UIColor grayColor];

    autocapitalizationType    输入类型

self.textView.autocapitalizationType = UITextAutocapitalizationTypeNone;

UITextAutocapitalizationType    枚举类型

    UITextAutocapitalizationTypeNone    不自动大写

    UITextAutocapitalizationTypeWord    单词首字母大写

    UITextAutocapitalizationTypeSentences    句子首字母大写

    UITextAutocapitalizationTypeAllCharacters    所有字母大写

    autocorrectionType    是否自动更正

self.textView.autocorrectionType = UITextAutocorrectionTypeDefault;

UITextAutocorrectionType    枚举类型

    UITextAutocorrectionTypeDefault    默认

    UITextAutocorrectionTypeNo    不自动更正

    UITextAutocorrectionTypeYes    自动更正

    secureTextEntry    安全文本输入

self.textView.secureTextEntry = YES;    开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存

    keyboardAppearance    键盘外观

self.textView.keyboardAppearance = UIKeyboardAppearanceDefault;

UIKeyboardAppearance    枚举类型

    UIKeyboardAppearanceDefault    默认外观:浅灰色

    UIKeyboardAppearanceAlert    深灰 / 石墨色

3. UITextView代理方法

    - (BOOL)textViewShouldBeginEditing:(UITextView*)textView;    将要开始编辑

    - (BOOL)textViewShouldEndEditing:(UITextView*)textView;    将要结束编辑

    - (void)textViewDidBeginEditing:(UITextView*)textView;    开始编辑

    - (void)textViewDidEndEditing:(UITextView*)textView;    结束编辑

    - (BOOL)textView:(UITextView*)textViewshouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text;    内容将要发生改变编辑

    - (void)textViewDidChange:(UITextView*)textView;    内容发生改变编辑

    - (void)textViewDidChangeSelection:(UITextView*)textView;    焦点发生改变

4. UITextView限制字数

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textViewDidChangeNotification:) name:UITextFieldTextDidChangeNotification object:nil];

NSNotificationCenter注册通知    UITextFieldTextDidChangeNotification

- (void)textViewDidChangeNotification:(NSNotification *)notification{

    UITextField * textView = (UITextField *)notification.object;

    // 需要限制的长度     #define NSIntegerMax    LONG_MAX

    NSUInteger maxLength = 100 ?: NSIntegerMax;

    // text field 的内容

    NSString *contentText = textView.text;

    // 获取高亮内容的范围

    UITextRange *selectedRange = [textView markedTextRange];

    // 这行代码 可以认为是 获取高亮内容的长度

    NSInteger markedTextLength = [textView offsetFromPosition:selectedRange.start toPosition:selectedRange.end];

    // 没有高亮内容时,对已输入的文字进行操作

    if (markedTextLength == 0) {

            // 如果 text field 的内容长度大于我们限制的内容长度    

            if (contentText.length > maxLength) {

                NSRange rangeRange = [contentText rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, maxLength)];

                textView.text = [contentText substringWithRange:rangeRange];

            }

        }

    }

此上就是UITextView在使用中的常用属性以及使用方法, 如有不足或者错误, 欢迎大家前来纠正, 谢谢

你可能感兴趣的:(iOS 开发-UITextView(第二种输入框)的使用)