UIControl 使用全面解析(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:49 点击:

UIControlEventTouchCancel
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
 
UIControlEventTouchChanged
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
 
UIControlEventEditingDidBegin
当文本控件中开始编辑时发送通知。
 
UIControlEventEditingChanged
当文本控件中的文本被改变时发送通知。
 
UIControlEventEditingDidEnd
当文本控件中编辑结束时发送通知。
 
UIControlEventEditingDidOnExit
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
 
UIControlEventAlltouchEvents
通知所有触摸事件。
 
UIControlEventAllEditingEvents
通知所有关于文本编辑的事件。
 
UIControlEventAllEvents
通知所有事件。
 
除了默认事件以外,自定义控件类还可以用0x0F000000到0x0FFFFFFF之间的值,来定义他们自己的时间。
要删除一个或多个事件的相应动作,可以使用UIControl类的removeTarget方法。使用nil值就可以将给定事件目标的所有动作删除:
 
 
 
[ myControl removeTarget:myDelegate   action:nil  forControlEvents:UIControlEventAllEvents]; 
 
要取得关于一个控件所有指定动作的列表,可以使用allTargets方法。这个方法返回一个NSSet,其中包含事件的完整列表:
 
NSSet* myActions = [myConreol allTargets ]; 
 
另外,你还可以用actionsForTarget方法,来获取针对某一特定事件目标的全部动作列表:
 
 
NSArray* myActions = [ myControl actionForTarget:UIControlEventValueChanged ]; 
 
如果设计了一个自定义控件类,可以使用sendActionsForControlEvent方法,为基本的UIControl事件或自己的自定义事件发送通知。例如,如果你的控件值正在发生变化,就可以发送相应通知,通过控件的代码可以指定时间目标,这个通知将被传播到这些指定的目标。例:
 
 
 
[ self sendActionsForControlEvents:UIControlEventValueChanged ];
 
当委托类得到事件通知时,他将收到一个指向事件发送者的指针。下面的例子用于处理分段控件的事件,你的动作方法(action method)应遵循类似的处理方式:
 
-(void) myAction:(id)sender{ 
       UISegmentedControl* control = (UISegmentedControl*)sender; 
       if(control == myControl1){ 
        /*查询控件得值*/ 
      /*响应myControl1的动作*/ 
       } 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1