UI 小结

 UI控件出不来的原因  ————————————————————————————————

1.frame的尺寸和位置对不对
 
 2.hidden(隐藏)是否为YES
 
 3.有没有添加到父控件中
 
 4.alpha 是否 < 0.01
 
 5.被其他控件挡住了
 
 6.父控件的前面5个情况

界面的搭建————————————————————————————————————————

A.storyboard  & xib

搭建界面   设置控件   设置 视图控制器之间的跳转

连线

IBOutlet   需要全局访问的控件

IBAction  控件的监听方法 ,本质上是void   可以保证能够拖线

在代码中addTarget  和IBAction  添加监听方法   是等价的

在loadView中建立 视图层次结构

定义属性  方便访问

MVC————————————————————————————————————————————————

model  数据模型

view 视图

controller  视图控制器  绝大多数代码都在这里实现

交互控件——————————————————————————————————————————————

button   按钮 

UISwitch  开关

UISlider 滑块

UISegmentedControl  选项卡

内容显示控件——————————————————————————————————————————

UIimageView   图像视图

UIscrollView  滑动视图

UILabel  标签视图

UItableView 表格视图

UIWebView  网页视图

UICollectionView  九宫格视图

文字输入控件————————————————————————————————————————————

UITextField   文本框 只能输入一行文字

UITextView  文本视图  能显示 输入多行文字

数据选择控件————————————————————————————————————————————

UIPickerView 数据选择视图

UIDatePicker 日期选择控件

 

事件监听方法————————————————————————————————————————————

代理模式

代理模式目标 :  不知道委托方要做的具体实现细节   只需要知道发生事件事能够得到结果

委托方

定义代理方法    委托方能够发生什么事  传递什么数据

第一参数是自己?  传递的数据

定义代理属性   发生事件时  谁来执行具体工作

在需要的时候通知代理  直接调用方法

 

代理方

遵守协议

实现方法

设置代理  告诉委托方  有事找我

 

通知

特点 多对多

以监听字符串的形式   来调用对应方法

 发生事件的控件,在事件发生时,POST指定的字符串
 监听字符串对象的"观察者",在监听到字符串时,执行具体方法

效率不高,如果代理不复杂,尽量少用!
关于销毁,如果监听者被销毁 -> nil,通知中心的注册通知没有销毁!程序不会蹦

 

KVO应用程序


主要应用场景:监听"模型属性"数据的变化
从网络获取数据,某些重要信息发生变化的监听,例如:QQ中监听到接收到未读消息的数字。

 

多视图控制器   视图

使用多视图控制器的原因?   实现多个界面之间的跳转

UINavigationController

管理了一个视图控制器  的栈     以及一个导航条

入栈  push

出栈 pop

 

UITabbarController

并列管理多个视图控制器

视图控制器一经创建  不会被销毁

控制器之间为并列关系

 

posted on 2015-09-12 17:42  li杨  阅读(117)  评论(0)    收藏  举报

导航