UITextView用法总结

UITextView高级用法 目前有三个需求,1.给每个字体加边框;2.随着文字的内容的变化改变控件大小;3点击单词能够识别出该单词。 其实要实现这三个功能已经不是上层API能做的事情了,这时候你要理解清楚UITextView的整个实现过程,才有可能找到解决方案。 a.苹果Text Kit Framework 从上面可以看出UITextVIew在框架中的位置,实际上它继承了UIScrollView。 从上面可以 阅读详情

--------UITextView用法总结

1.基本用法

self.textView=[[[UITextView alloc] initWithFrame:self.view.frame] autorelease]; //初始化大小并自动释放 

self.textView.textColor = [UIColor blackColor];//设置textview里面的字体颜色 

self.textView.font = [UIFont fontWithName:@"Arial"size:18.0];//设置字体名字和字体大小

self.textView.delegate = self;//设置它的委托方法 

self.textView.backgroundColor = [UIColor whiteColor];//设置它的背景颜色               

self.textView.text = @"abcdefgha";//设置它显示的内容

self.textView.returnKeyType = UIReturnKeyDefault;//返回键的类型

self.textView.keyboardType = UIKeyboardTypeDefault;//键盘类型


textView.contentInset = UIEdgeInsetsMake(-11, -6, 0, 0); //添加滚动区域


self.textView.scrollEnabled = YES;//是否可以拖动           

self.textView.editable = NO;//禁止编辑

self.textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;//自适应高度  


[textView becomeFirstResponder];//成为第一响应者

[textView resignFirstResponse];  //取消第一响应       

[self.view addSubview: self.textView];//加入到整个页面中


2.设置textView的行间距

1.如果只是静态显示textView的内容为设置的行间距,执行如下代码:

//    textview 改变字体的行间距 
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
    paragraphStyle.lineSpacing = 10;// 字体的行间距 
     
    NSDictionary *attributes = @{ 
                                 NSFontAttributeName:[UIFont systemFontOfSize:15], 
                                 NSParagraphStyleAttributeName:paragraphStyle 
                                 }; 
    textView.attributedText = [[NSAttributedString alloc] initWithString:@"输入你的内容" attributes:attributes];

 

2.如果是想在输入内容的时候就按照设置的行间距进行动态改变,那就需要将上面代码放到textView的delegate方法里

-(void)textViewDidChange:(UITextView *)textView

{

    //    textview 改变字体的行间距

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

    paragraphStyle.lineSpacing = 20;// 字体的行间距

    

    NSDictionary *attributes = @{

                                 NSFontAttributeName:[UIFont systemFontOfSize:15],

                                 NSParagraphStyleAttributeName:paragraphStyle

                                 };

    textView.attributedText = [[NSAttributedString alloc] initWithString:textView.text attributes:attributes];

 

}

 

3.设置textView的placeholder

 UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel或者UITextView,如果用UILable的话,会出现一个问题就是当placeholder的文字过长导致换行的时候就会出现问题,而用UITextView则可以有效避免此问题。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{    if (![text isEqualToString:@""])

        {

            _placeholderLabel.hidden = YES;

        }

     if ([text isEqualToString:@""] && range.location == 0 && range.length == 1)

        {

            _placeholderLabel.hidden = NO;

        }

    return YES;

}

 

说明如下:

  (1) _placeholderLabel 是加在UITextView后面的UITextView,_placeholderLabel要保证和真正的输入框的设置一样,字体设置成浅灰色,然后[_placeholderLabel setEditable:NO];真正的输入框要设置背景色透明,保证能看到底部的_placeholderLabel。

    (2) [text isEqualToString:@""] 表示输入的是退格键

    (3) range.location == 0 && range.length == 1 表示输入的是第一个字符



Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建 本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。 阅读详情

相关推荐

【论文阅读】2021-(Pidinet)Pixel Difference Networks for Efficient Edge Detection

文章目录摘要1. Introduction 摘要 motivations: 基于CNN的边缘检测的高性能是通过一个大的预训练CNN主干来实现的,该主干占用大量内存和能量。传统边缘检测器(如Canny、Sobel和LBP)很少被研究。 contributions: 提出了一种简单、轻量级但有效的架构,称为像素差分网络(PiDiNet),用于有效的边缘检测。PiDiNet采用了新颖的像素差卷积,将传统的边缘检测算子集成到现代CNN中流行的卷积运算中,以增强任务性能。 experiments: 在BSDS500

轻舟的万重重山 1万+

UITextView的用法及技巧

摘要: textView的创建;设置属性;代理方法;隐藏键盘;键盘弹出时调整textView的位置,像手机短信的效果 一、新建一个textView 01 //初始化 02 UITextView *textView = [[[UITextView alloc] init] autorelease

iOS开发专栏 1188

动态知识图谱构建:从本体论到工程实践

知识图谱作为语义网和人工智能领域的核心技术,旨在通过结构化的方式表示和组织知识。其核心原理在于将实体、概念及其关系建模为图结构,从而支持复杂的语义推理和关联查询。这一技术为机器理解数据间的深层联系提供了基础,在智能推荐、企业知识管理和学术研究等领域具有重要价值。通过结合自然语言处理(NLP)和图数据库技术,系统能够从非结构化数据中自动抽取知识,并构建动态演化的认知网络。本文以“本体论章鱼”项目为例,探讨了如何实现从静态本体到动态知识网络的范式转变,并详细解析了其分布式感知、适应性学习的架构设计,为构建灵活可

weixin_30731305的博客 657

UITextView限制行数

-(BOOL)textView:(UITextView *)textViewshouldChangeTextInRange:(NSRange)range  replacementText:(NSString*)text {      if (textView.contentSize.height > 104){       textView.text = [textView.text

u012490953的专栏 1539

overleaf导入模板

本文介绍了如何在Overleaf平台导入Springer Nature模板。首先下载所需的模板压缩包,然后在Overleaf中选择"Upload project"上传该压缩包。上传后会显示模板文件,包括EPS格式图像文件、LaTeX源文件、BibTeX参考文献文件、PDF输出文件以及文档类文件。这些文件共同构成了完整的LaTeX模板,可用于学术论文写作和排版。

A2787960542的博客 1148

FPGA实战:手把手教你用Verilog驱动4.3寸RGB触摸屏(附完整代码)

本文详细介绍了如何使用Verilog语言在FPGA上驱动4.3寸RGB触摸屏,包括时序设计、信号交互原理及完整代码实现。通过双计数器引擎设计和参数化模块,开发者可以高效构建800*480分辨率的显示驱动,并解决工程实践中的信号完整性和时序收敛问题。

rice5的博客 701

UITextView 属性及使用详解

//初始化并定义大小     UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)];     textview.backgroundColor=[UIColor whiteColor]; //背景色     textview.scrollEnabled = NO;

天微微亮 2552

避坑指南:汇川SV660N配合SOEM时,PDO映射与CiA402状态机那些容易出错的地方

本文深入解析汇川SV660N伺服驱动与SOEM主站在PDO动态映射和CiA402状态机切换中的常见问题,提供实战代码和调试技巧。重点解决PDO配置时序、状态机转换同步等关键难点,帮助工程师避免典型错误,实现稳定通信与控制。

weixin_30653023的博客 498

UITextView 基本用法

self.textView=[[[UITextView alloc] initWithFrame:self.view.frame] autorelease]; //初始化大小并自动释放 self.textView.textColor = [UIColor blackColor];//设置textview里面的字体颜色 self.textView.font = [UIFont fontWithN

timtian008的博客 464

centos8 安装新版bind9源码

bind一直在更新,使用了比较多的新架构 本文记录新版本的bind怎么安装,以及其依赖库的安装 1. 在https://www.isc.org/download/ 下载最新stable版本bind,本文以bind-9.17.9.tar.xz为例。将软件传到/root目录下。 也可以到https://ftp.isc.org/isc/bind9/ 下载更多历史版本 2. 安装基本的依赖库,像gcc、amake等 3. 需要安装libuv库,但直接用yum时可能安装不全 建议使用源码安装,需要安..

linggang_123的博客 2539

拼多多Android面试题及参考答案

Android 系统采用分层架构设计,从底层到上层依次为Linux 内核层硬件抽象层(HAL)系统运行时库层应用框架层应用层,共五层。位置:Linux 内核层与系统运行时库层之间,是“硬件与系统的隔离层”。核心作用:屏蔽硬件差异,为上层提供统一的硬件访问接口,解决 Android 开源与硬件厂商闭源的矛盾,具体功能如下:硬件能力抽象:将硬件的具体实现(如不同厂商的摄像头芯片、音频芯片)封装为标准化接口(如Camera HALAudio HAL。

大模型大数据攻城狮的专栏 1284

UITextView用法

1.创建并初始化创建UITextView的文件,并在.h文件中写入如下代码:1#import 23@interface TextViewController : UIViewController {4 UITextView *textView;5 }67 @property (nonatomic, retain) UITextView *textView; 89@end 在.m文件中初

xiekunmiao的专栏 456

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3341

UITextView 的简单用法

UITextView //初始化并定义大小    UITextView*textview = [[UITextViewalloc] initWithFrame:CGRectMake(20, 10,280, 30)];    textview.backgroundColor=[UIColor whiteColor]; //背景色    textview.scrollEnabl

dingjinyu005的博客 466

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

UITextView的基本用法

这里我们来了解UITextView的基本属性和代理方法 /*      继承 UIScrollView            和 UITextfield 属性基本相同  */ 首先声明属性 @property (nonatomic, strong) UITextView *textView; // 初始化     self.textView = [[UITextView al

奔跑吧 梦想 587

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

UItextview与UItextfield的区别及uitextview用法

IOS中的UITextView和UITextField都是文本输入控件并都能够调用系统键盘。 UITextField : 只能输入一行,不可以滚动显示浏览全文,可以设置提醒文字(有placeholder属性),继承自UIView[UIControl]。 UITextView: 能输入多行,可以滚动显示浏览全文,不可以设置提醒文字(没有placeholder属性),继承自

clj_is_queen1的博客 1857

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

iOS关于UITextView的基本用法属性和协议

1. [代码]iOS关于UITextView的基本用法属性和协议     跳至 [1] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

xumugui007的博客 484

UITextView的基本用法和代理方法

UITextView的基本用法和代理方法 在 .m 文件中   (1)加载视图 —(void)loadview {          // 4 文本输入框 UITextView* textview1=[[UITextViewalloc]initWithFrame:CGRectMake(80, 220, 160, 30)]; // 代理指向self textview1.delega

xujingjing 学习iOS开发历程 8383

UITextView 用法小结

// 初始化输入框并设置位置和大小 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, 180)]; // 设置预设文本 textView.text = @""; // 设置文本字体 textView.font = [UIFont fontWithName:@"Arial" size:16

baixiaolong1abc的博客 386

UITextView控件的用法详解

UITextView控件的用法详解 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: 1 #import 3 @interface TextViewController : UIViewController { 4 UITextView *textView; 5 } 7 @property (nonato

imekong的专栏 1218

Swift4 2 UITextView基本用法

先看效果图 github源码github.com/daomoer/YYS… 初始化一个UITextView let textView = UITextView(frame: CGRect(x:30, y:200, width:UIScreen.main.bounds.width-60, height:200)) textView.delegate = self self.view.addSubv...

weixin_34184158的博客 539

UITextView控件的用法

1:在.h文件中写入遵守代理:UITextViewDelegate 2:在.m文件中初始化textview,写入代码如下: 3:退出键盘的方式:(提供一个把回车键当做退出键盘的响应键)

qq_33391441的博客 381

uiTextView简单的用法

  UITextView和UITextField常见的方法差不多。 如下的一个简单例子: #import "ViewController.h" @interface ViewController ()<UITextViewDelegate> @end @implementation ViewController - (void)viewD...

weixin_38168786的博客 75
上一篇: 正则表达式
下一篇: iOS中常用开发设计模式总结
Snowflake_light
博客等级 码龄12年 4粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值