【背景】
折腾:
【已解决】swift中如何让一个图片和文字在一个矩形区域内水平居中对齐
期间,需要知道:
UITextView和UITextField,以及后来看到的UILabel,到底有何区别。
【解决过程】
1.看了:
iOS: Vertical aligning text in a UITextView | Imagineric
感觉是:
UITextView是多行的,用于显示,可以编辑的字符串的-》类似于windows的InputTextBox
UITextLabel:是显示单行的字符-》类似于windows中的Label
2.搜:
swift uilabel uitextview
swift uilabel uitextview UITextField
参考:
How to add UITextField, UITextView and UILabel programmatically in swift – WebinDream
Text Kit Tutorial: Getting Started – Ray Wenderlich
iOS 6中相关的text的框架:
iOS 7中的text相关库的框架:
3.关于UITextField
搜:
UITextField UILabel UITextView
参考:
cocoa touch – UILabel UITextField UITextView – Stack Overflow
UILabel UITextField UITextView区别 – quding0308的博客 – ITeye技术网站
UITextField,UITextView,UILabel 根据内容来计算高度 – – 博客频道 – CSDN.NET
【总结】
UILabel
显示只读文本。
最最基本的显示文字的,支持单行或多行,wrapped,truncated,styled(借用:NSAttributedString Class Reference )
UILabel是UIView的一个子类,而UIView又是UIResponder的子类
-》就使得UILabel支持:position定位, colour着色, mask掩码?,access访问,触摸touch
UITextView
取消了之前,当显示大量的文字的时候,需要很麻烦的调用drawRect
继承自:
可编辑文本,提供换行功能,支持多行时滚动。
允许垂直方向的滚动。
文字是可选的-》可以拷贝,可以选中后调用语音读出来
UITextField
可编辑本文,但是无法换行,只能在一行显示;
当点击键盘上的return时会收到一个事件做一些事情。
当内容太长一行没有完全显示时:提供水平方向的字符的定位seeking
主要用于:简短的文字输入
另外:
CATextLayer
类似于UILabel,但是没有继承UIView和UIResponder
注:CALayer主要用于操作图形图像
(其又继承自:NSObject Class Reference)
CATextLayer适用于:只是想要在2D或3D界面中,展示、带动画地显示、变形文字