iOS 控件基类之 UIControl

从所有能接受用户触摸事件的控件来看,他们都直接或间接地继承与UIControl,当然他本身也是继承与一个最基础的视图控件UIView,这个下一篇会说。然而,UIControl不能直接被使用,但是它定义了它所有子类的共同行为,提供了共有的接口。

@property(nonatomic,getter=isEnabled) BOOL enabled;   
//默认是YES,如果要禁用这个控件,设为NO
                               
@property(nonatomic,getter=isSelected) BOOL selected;    
//当控件被选中时,selected属性被设为YES,当然为了达到某种目的,可以让控件自动选择自己                          
@property(nonatomic,getter=isHighlighted) BOOL highlighted;
//我只知道,在滑动slide的时候,这个属性是为YES的

@property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;  
//设置控件在垂直方向上如何显示本身的内容
   
@property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment;
//设置控件如何在水平方向上如何显示本身的内容 

@property(nonatomic,readonly) UIControlState state;    
//获取控件现在所处的状态
             
@property(nonatomic,readonly,getter=isTracking) BOOL tracking;
//判断是否处在在tracking这个状态

@property(nonatomic,readonly,getter=isTouchInside) BOOL touchInside; 
//判断是否处在touchInside这个状态

//线面这四个方法是一个点击事件所处的四个状态
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)cancelTrackingWithEvent:(UIEvent *)event;   


- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
//为控件绑定一个事件和这个事件所响应的方法

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
//删除一个或者多个事件的响应动作,使用nil可将给定目标事件的所有动作删除

- (NSSet *)allTargets; 
//获取这个控件的所有指定动作列表
                                                                    
- (UIControlEvents)allControlEvents;   
//获取控件的所有事件列表                                                   
- (NSArray *)actionsForTarget:(id)target forControlEvent:(UIControlEvents)controlEvent;    


- (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event;
- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents;
// 如果设计了一个自定义控件类,可以使用sendActionsForControlEvent方法,为基本的UIControl事件或自己的自定义事件发送通知。例如,如果你的控件值正在发生变化,就可以发送相应通知,通过控件的代码可以指定时间目标,这个通知将被传播到这些指定的目标                        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值