zoukankan      html  css  js  c++  java
  • iOS 进阶 第六天(0402)

    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-键盘处理

  • 相关阅读:
    25、继续echarts实现中国地图
    24、echarts做报表
    23、css的定位问题
    22、继续javascript,左边选中的跳到右边
    21、在选择的时候跳到另一页面上,选择男女,然后提交表单内容
    20、formAdd,javascript实现动态添加
    19、javascript基础知识
    18、webservice使用
    17、javaWebService,的使用
    16、使用jQuery的html5player播放器,进行播放
  • 原文地址:https://www.cnblogs.com/lyandy/p/5116862.html
Copyright © 2011-2022 走看看