// 添加textView
- (void)addTextView
{
//UITextView可以使用父类的初始化方法initWithFrame:也可使用iOS7.0出现的自己独有的的初始化方法initWithFrame:textContainer:
//textContainer:是text接受者 可以为nil
// 讲解如果使用initWithFrame:textContainer:初始化方法需要注意的问题
// 这里先讲解三种类的关系:
//1、NSTextStorage保存并管理UITextView显示的文字信息,并且可以灵活的修改文字属性
//2、NSLayoutManager用于管理NSTextStorage中文字内容的排版布局
//3、NSTextContainer定义一个矩形区域用于存放已经进行了排版并设置好属性的文字
// 使三者建立联系:必须建立三者联系,否则用该初始化方法文字不显示
//创建container
NSTextContainer *container = [[NSTextContainer alloc] initWithSize:CGSizeMake(100, 100)];
container.widthTracksTextView = YES;
//创建layoutManager并添加container
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];
[layoutManager addTextContainer:container];
//创建storage并添加layoutManager
NSTextStorage *storage = [[NSTextStorage alloc] init];
[storage addLayoutManager:layoutManager];
/**
来向UITextStorage类或其子类发送开始或完成文字编辑的消息。在[storage beginEditing], [storage endEditing];两条语句之间进行相应的文字编辑设计文字的样式
[storage beginEditing];
NSDictionary *attrsDic = @{NSTextEffectAttributeName: NSTextEffectLetterpressStyle};
UIKIT_EXTERN NSString *const NSTextEffectAttributeName NS_AVAILABLE_IOS(7_0); // NSString, default nil: no text effect
NSMutableAttributedString *mutableAttrString = [[NSMutableAttributedString alloc] initWithString:@"Letterpress" attributes:attrsDic];
NSAttributedString *appendAttrString = [[NSAttributedString alloc] initWithString:@" Append:Letterpress"];
[mutableAttrString appendAttributedString:appendAttrString];
[storage setAttributedString:mutableAttrString];
[storage endEditing];
*/
// 最后在初始化方法中添加container
//UITextView继承于UIScrollView继承父类的所有属性和方法,这里只介绍经常使用的方法和属性支持多行输入
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(100, 100, 200, 100) textContainer:container];
// 设置背景颜色
textView.backgroundColor = [UIColor whiteColor];
// 设置字体颜色
textView.textColor = [UIColor blackColor];
// 设置字体和大小
textView.font = [UIFont fontWithName:@"Heiti TC" size:16];
// 设置内容
textView.text = @"输入内容";
// 设置弹出键盘类型
textView.keyboardType = UIKeyboardTypeDefault;
//设置键盘返回键的样式
textView.returnKeyType = UIReturnKeyNext;
// 设置是否允许滑动
textView.scrollEnabled = NO;
// 是否显示滑动条
textView.showsVerticalScrollIndicator = YES;
// 设置代理 遵循代理 UITextViewDelegate
textView.delegate = self;
[self.view addSubview:textView];
}
#pragma mark ---代理方法---
-(void)textViewDidBeginEditing:(UITextView *)textView
{
NSLog(@"开始编辑触发");
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
NSLog(@"结束编辑触发");
}
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
NSLog(@"将要编辑触发");
return YES;
}
-(BOOL)textViewShouldEndEditing:(UITextView *)textView
{
NSLog(@"将要结束编辑触发");
return YES;
}
// 在编辑范围是否允许输入某些text
// 如果你的textView里面不允许用回车,可以用此方法通过按回车回收键盘
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
} else {
return YES;
}
}相关推荐
以TMS320F28069为例,如何使用CCS建立DSP工程文件
以TMS320F28069为例,本文主要介绍了使用CCS建立DSP工程的流程
Text Kit学习日记--分页
最近为了作业的课设,做了一个app,主要是浏览、下载和阅读小说,谈到阅读,就要谈一谈排版、字体、分页...当然,除了分页的部分,其他的使用textview都可以很好地解决,这里总结一下这么一个比较简单的分页方法,针对从txt文本获取的NSString进行分页。 转载请注明出处,这是原文链接http://wbuntu.com/?p=10 Text Kit1.NSLayoutManager 管理...
AD21导出gerber文件
文件–>制造输出–>Gerber Files 文件–>制造输出–>Gerber Files 通用、光圈和高级跟第一步一样 3.文件–>制造输出–>NC Drill Files 这个默认就可以了 主要参考视频来自bilibili添加链接描述 此篇博客主要是写给自己好记的,无其他商业用途 ...
Text Kit进阶——Intermediate Text Kit
本文为raywenderlich的iOS 7 By Tutorials中的Intermediate Text Kit章节。Text Kit进阶在上一章中,你已了解了Text Kit最重要的一些功能。特别是,学习了动态类型、凸版印刷效果,使用排除路径,和创建自己的动态文本格式和存储系统(dynamic text formatting and storage system)。而这章的内容主要集中在app
基于阻抗控制的工业机器人轨迹跟踪系统 Simulink/Simscape 仿真
本文是对文献 [1] 的复现。 关于阻抗控制 阻抗控制的提出可以追溯到 1984 年,Neville Hogan 在 American Control Conference 发表的 Impedance Control:An Approach to Manipulation ,次年,Hogan N. 又在 Journal of Dynamic Systems Measurement and Control-transactions of The Asme 发表了阻抗控制经典三部曲 —— Imped.
05、基于ALV表报实现复选框、全选、取消全选等功能
基于Function ALV实现复选框、全选及取消全选等功能
TextKit学习(三)NSTextStorage,NSLayoutManager,NSTextContainer和UITextView
先上一张图: 这是使用UITextView时用到的iOS7新增加的类:NSTextContainer、NSLayoutManager、NSTextStorage及其相互关系: 这三个新出的类还没有在官方出独立的class reference,但是在新出的UIKit_Framework上已经有这些类的相关说明及使用方法,当然官方还会更新。 以下是
基于Simulink使用激光雷达数据跟踪车辆仿真(附源码)
这些模型将长方体的尺寸定义为状态转换期间的常量,并且它们的估计值在滤波器的校正阶段随时间演变。下面的动画显示了在滤波器的预测阶段将具有不同概率的恒定速度和恒定转弯率模型混合在一起的效果。此示例显示了如何使用带有 IMM 过滤器的 JPDA 跟踪器来跟踪使用激光雷达传感器的对象。图像和激光雷达数据读取器从 MAT 文件中读取记录的数据,并分别输出参考图像和点云中点的位置。跟踪器块选中“启用所有轨道输出”和“启用可检测的跟踪 ID 输入”复选框,以从跟踪器输出所有轨道,并将其检测概率作为其状态的函数进行计算。
iOS NSTextContainer
NSTextContainer文本容器,定义一些布局属性 //初始化 - (instancetype)initWithSize:(CGSize)size NS_DESIGNATED_INITIALIZER NS_AVAILABLE(10_11, 7_0); - (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZ...
基于Jeecgboot3.9.0的文档管理系统(四)
基于Jeecgboot3.9.0的文档管理系统(四)
银行统一监管报送系统
依据《银行业金融机构数据治理指引》,银行业金融机构应当建立适应监管数据报送工作需要的信息系统,实现流程控制的程序化,提高监管数据加工的自动化程度。银行业金融机构应当将监管数据纳入数据治理,建立工作机制和流程,确保监管数据报送工作有效组织开展,监管数据质量持续提升。银行通常要对接报送EAST5.0、1104、CRSS等近40个监管应用,涉及近1000张报表。表13-01是主要的监管报送应用、报送依据、报送规范、监管机构名称。
NSTextStorage,NSLayoutManager,NSTextContainer和UITextView
参考链接http://www.cocoachina.com/industry/20131028/7250.html demo地址https://github.com/yuanchuns/StorageAndLayout_i7_Demo “TextKit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够存储,排版和显...
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
iOS UITextView和UITextViewDelegate
In this tutorial, we’ll be discussing the UITextView element and implement the various forms of it in our application. 在本教程中,我们将讨论UITextView元素,并在我们的应用程序中实现它的各种形式。 iOS UITextView (iOS UITextView) Unl...
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
IOS 学习笔记 UITextView UITextField 协议
该篇笔记记录了UITextView UITextField 以及相关delegate的使用,回调方法的使用,三分钟即可熟悉这两个视图控件以及使用他们
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
iOS应用开发中的文字选中操作控件UITextView用法讲解
1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: 复制代码代码如下: #import @interface TextViewController : UIViewController { UITextView *textView; } @pr
ios UITextView 添加链接 垂直居中和水平居中
水平居中 let fixedHeight = textView.frame.size.height let newSize = textView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: fixedHeight)) textView.frame.size = CGSize(width: newSize.width, height: max(newSize.height,fixedHeight)).
UITextView及键盘隐藏
1.创建并初始化 UITextView UITextView *textView;self.textView = [[[UITextView alloc] initWithFrame:self.view.frame]autorelease]; //初始化大小并自动释放 self.textView.textColor = [UIColor blackColor];//设置textview里面
UITextView和UITextFiled的区别以及自定义带Placeholder属性的UITextView
这么久了终于写下了自己的第一篇博客。 这个寒假留校在学院实验室学习,算是正式踏入ios开发这一块感觉对新人不太友好的领域。师傅领进门,修行在个人。所谓的自学就是不停不断的百度,所以决定开通博客,整理自己在学习过程遇到的问题以及解决方法,能够正确的节省下时间,分享自己的心得体会,也能记录自己在这一条路上的点滴吧。 煽情一波,愿十年回首,初心仍在。 组长分配的任务是写一个发布信息的界面,初以为是一
ios textview间距_iOS开发之UITextView,设置textView的行间距及placeholder
一、设置textView的行间距1.如果只是静态显示textView的内容为设置的行间距,执行如下代码://textview 改变字体的行间距NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];paragraphStyle.lineSpacing = 10;// 字体的行间距NSD...
UITextView自适应高度
currentLineNum = 1;//默认文本框显示一行文字 NSDictionary *dict=@{NSFontAttributeName:[UIFont systemFontOfSize:14.0]}; CGSize contentSize=[@"我" sizeWithAttributes:dict]; heightText = contentSize.height; self.tex...
UITextView
简介 UITextView 具有 label 大部分属性,以及 textField 的属性。 1、UITextView 的创建 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 30, self.view.frame.size.width - 20, 400)]; // 将 textVie...
【SWift】UIKit:UIView、UILabel、UITextField、UITextView和UIButton
UIView是UIKit中所有可视化组件的基类,主要作为容器管理子视图或展示视觉元素。其核心功能包括布局管理(frame/center)、视觉属性设置(backgroundColor)和触摸事件处理。UILabel是专门展示静态文本的组件,支持多行显示、文本样式定制和阴影效果。UITextField用于单行文本输入,提供占位提示、键盘样式自定义和清除按钮等功能。开发时需注意:frame布局在屏幕旋转时可能错乱,建议使用AutoLayout;UILabel字体修改需重新赋值;UITextField需通过代理处
UITextView控件的详细讲解
1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: #import @interface TextViewController : UIViewController { UITextView *textView; } @property (nonatomic, retain) UIT
[iOS备忘录]UITextView多行输入,键盘隐藏问题[swift]
使用UITextView进行多行输入,输入完毕后关闭键盘 UIScrollView与UITextView配合使用,可实现多行输入。 var msgText: UITextView! let sc = UIScrollView() override func viewDidLoad() { super.viewDidLoad()
2556



被折叠的 条评论
为什么被折叠?



