【UGUI源码解析】7、Button

一、简介

Button继承自Selectable,IPointerClickHandler、ISubmitHandler。添加了一个UnityEvent类型的事件onClick。

二、功能

1、onClick事件可以添加用户自定义的监听,具体方法可以通过编辑器添加也可以通过onClick.AddListener添加。

2、OnPointerClick会调用Press方法来回调onClick。

3、OnSubmit也会调用Press方法,并切换状态为Pressed,并开启协程调用OnFinishSubmit,让状态渐变为当前状态(通过UpdateSelectionState获得的状态)。

可以看出Button就是相对于Selectable添加了响应点击和确认事件的接口,并且开放了可添加用户自定义监听的onClick事件。

4、botton的点击之后有个颜色变化,是使用协程打开,但是没有在别的地方进行停止,比较合理的设计应该是不可见或者被删除的时候将协程停掉


        public virtual void OnSubmit (BaseEventData eventData) {
            Press ();

            // if we get set disabled during the press
            // don't run the coroutine.
            if (!IsActive () || !IsInteractable ())
                return;

            DoStateTransition (SelectionState.Pressed, false);
            StartCoroutine (OnFinishSubmit ());
        }

       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值