UITextView 实现任意行显示,可以滚动,编辑,根据需要选中,可以使用可变属性化字符串的各种设置
textStorage
这类方法在设置字体时会改变全部字符的设置
创建Attributor
把delegate file移至supporting file
我们需要一个可伸缩的界面来适应不同大小的屏幕,这是设计时要考虑的自动布局机制
text view
在显示用户内容时,最好使用系统推荐字体
preferredFontForTextStyle:Headline
viewDidLoad 视图控制器生命周期的一部分
UITextView body
UIlabel headline
Objective-C中倾向于较长的命名方法
textStorage addAttribute NSForeGroundColorAttributeNameValue selectedRange
范围是指文本视图保存内容的哪部分
outlineBodySeletion
stroke width 描边宽度
addAttributes
@{ }创建字典 @{ NSStrokeWidthAttibuteName:@-3, NSStrokeColorAttibuteName:[UIColor blackColor]}
blackColor是UIColor的类方法
-3表示描边宽度为3,并进行填充,如果是3,则不进行填充,描边会是空心的
视图控制器生命周期
你的控制器是UIViewController的一个子类
大部分视图控制器都是从storyBoard中创建的
viewDidLoad 防止控制器初始化代码,你可以把它看成放置init全部内容的地方
init不会被调用,不会在视图控制器中被调用。viewDidLoad已经设置好了输出口
在控制器生命周期中,viewDidLoad只会被调用一次
但是不要在viewDidLoad中添加关于几何的代码
在你的视图控制器的视图就要出现在屏幕之前时,系统会调用viewWillAppear
不要在viewWillAppear中添加一次性初始化代码,因为它会多次被调用
基于某些数据,但这些数据会在你离开屏幕时发生变化,比如model
当你收到viewWillAppear时,代表你的视图就要在屏幕上出现
几何操作可以在这里执行,几何内容是可以在viewWillAppear出现后改变的
当你从屏幕离开时,你也会得到通知,viewWillDisappear
viewWilllayoutSubviews viewDidLayoutSbuviews 几何
awakefromNib 你可以在这里执行通常会放在初始化方法中的内容
从storyBoard中实例化,设置好输出口,然后viewDidLoad被调用,然后当所有几何内容被调用后,viewWillLayoutSubviews viewWillDidLayoutSubviews 会被调用,
然后viewWillAppear会被调用,如果在可见时,几何内容有变化,。。。会被再次调用,如果有自动旋转,还要加上自动旋转的内容,当你从屏幕上离开时,会收到
viewWillDisappear消息,如果在此过程中出现内存不足,你会得到内存警告,不管是否出现在屏幕上
按钮没有像文本视图中的那种可变属性化字符串,可以让你随意修改
广播站机制,对象间的通讯以一种blind的方式进行,在ios7 中被称作notifications
如何收听广播,有一个类叫作NSNotificationCenter,类有一个方法defaultCenter,返回一个类似NSUserDefault的共享实例,就用这个对象来收听广播
方法是向它发送消息,addObserver selector name object
obsever代表想要收听广播的对象,控制器是最常见的广播收听对象 addObserver:self
selector是observer中的方法,当广播上出现内容时会调用它
name是广播站的名字
object:sender 代表你是否只想收听某个特定对象发出的广播,通常这里都会写nil,表示频率上任何广播我都想收听
这里将要被调用的方法,如果出现广播时将要调用的方法,总有一个参数时NSNotification
NSNOtification有3个属性,name,object,userInfo是个ID,想要知道它是什么,需要知道进行广播的那个人会提供什么
关掉广播 removeObserver
当view出现时,我想在通知中心登记,这样我才能接到这些消息
preferredFontsChanged
1730

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



