注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

iphone的responder chain及interface builder中First Responder的使用方法  

2011-08-08 10:50:48|  分类: apple |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
我们先看一张图,看看event被处理的顺序
iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛
  
The general path of an event up the responder chain starts with a view—the first responder or the view under the mouse pointer or finger. From there, it proceeds up the view hierarchy to the window object and then to the global application object. However, the responder chain for events in iOS adds a variation to this path: If a view is managed by a view controller and if the view cannot handle an event, the view controller becomes the next responder.
一般来说first responder就是主表或者指头触摸到的控件。
iphone中,responder chain为view->(view controller->)parent view(->parent view controller)->window->application。

我们再看一下怎么利用responder chain。
1. 建立一个view-based application,名字为view1
2. 双击view1ViewController.xib
3. 在interface builder中选中first reponder
点菜单tools->identity inspector

iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛

  
在identity inspector中新加一个action,名字叫myAction1

iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛

 

4. 在interface builder中选中button
5. 点菜单tools->connection inspector, 点中touch up inside拖拽到first responder
iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛
  
并且选中myAction1
iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛
  
6. 点击执行,点button,你会发现没有任何响应
7. 在view1ViewController.h中加入
- (IBAction) myAction1:(id)event;
在view1ViewController.m中加入

- (IBAction) myAction1:(id)event{
        UIAlertView *alertView = [[UIAlertView alloc]
                                                          initWithTitle:@"Hello DevDiv"
                                                          message:@"I'm a DevDiver"
                                                          delegate:self
                                                          cancelButtonTitle:@"OK"
                                                          otherButtonTitles:nil];
        [alertView show];
        [alertView release];
}
8. 重新编译执行,点击button
 

iphone的responder chain及interface builder中First Responder的使用方法 - wolfgangkiefer - 南中国海群岛

 


 现在大家知道responder chain作用了吧。
button的first responder是它自己,当它不能处理某一action后,它就交给responder chain中的controller来处理。
另外,大家也明白了interface builder中First Responder怎么使用了吧。

来源:http://www.devdiv.com/thread-30694-1-1.html

  评论这张
 
阅读(2469)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017