码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 进阶 第六天(0402)

时间:2016-01-09 18:32:35      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

0402

通知和代理的区别
  • 代理是一对一的,只能是调用实现了协议里的方法,对象作为实现了该方法才能执行方法
  • 通知是多对多,它是通过通知中心分发
  • 通知要及时移除,如果不及时移除可能会收到多次通知,就好像C#中的事件注册多次一样.也可能(通知中心不会保留被通知的对象)是被通知的对象已经销毁,但通知中心仍保留这个通知继续通知造成野指针错误,应用可能会崩溃.
  • 同时的添加和移除很容易和KVO混在一起,只要注意addObserver和removeObserver的时候不选择forKeyPath就可以了.

下图是个代码实例:

技术分享

移除通知:注意KVO

技术分享


键盘通知
  • UIDevice的一些通知,如下图:

     技术分享

  • 键盘通知

     技术分享


文本框的处理

问题1:在文本框UITextView里,光标默认贴靠在最左端,又是需要让光标离开一些距离,此时该怎么办呢?

答:UITextView没有UIEdgeInset属性,所以不能通过设置内边距来设定.UITextView有个leftView成员,再配合leftViewModel为UITextFieldViewModelAlways,这样就可以放一个有宽度没背景色的UIView就可以了.

问题2:既然出现了文本框,则键盘弹出右下角的文字标识肯能就要改一改,该如何改呢?

答:每个文本框UITextView都有一个ReturnKey的属性,在那里可以设置.如果要改成自己想要的问题则需要其他知识准备. 注意:UITextView还有一个Auto-enbale Retuen Key的属性,用来决定键盘右下角按钮的可用性.

问题3:如何监听文本框UITextView的回车事件

答:使用代理,如下图:

技术分享

设置键盘弹出QQ聊天窗口背景色方法

技术分享


键盘弹出和收起的高度处理就要参考这个 QQ聊天06-键盘处理

iOS 进阶 第六天(0402)

标签:

原文地址:http://www.cnblogs.com/lyandy/p/5116862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!