美文网首页
iOS 开发-UITextView(第二种输入框)的使用

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

作者: 戏子吕戏西施 | 来源:发表于2020-12-29 09:00 被阅读0次

    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(第二种输入框)的使用

          本文链接:https://www.haomeiwen.com/subject/hvnznktx.html