Qframework框架使用之UIKit Event
一.简介
1.背景
UIKit中UIRoot预制体中将UI共分了十一层,为了解耦合,UIkit专门为不同层级不同panel之间的交互提供了专门的事件系统.
2.功能
用于不同Panel之间的交互.
二.使用
案例效果如下,点击Setting面板的ChangeMenuColor按钮改变Menu面板背景颜色:
1. 新建enum设置好EventID(注意UI事件ID为3000~5999,可参考QMsgSpan)
public static class UIEventID
{
public enum MenuPanel
{
ChangeMenuColor = QMgrId.UI,
}
}
2.在Menu面板注册事件
protected override void ProcessMsg(int eventId, QMsg msg)
{
switch (eventId)
{
case (int) UIEventID.MenuPanel.ChangeMenuColor:
ImageBg.color = "#00FFFFFF".HtmlStringToColor();
break;
}
}
protected override void RegisterUIEvent()
{
RegisterEvent(UIEventID.MenuPanel.ChangeMenuColor);
}
3.发送消息
protected override void RegisterUIEvent()
{
eventBtn.onClick.AddListener(()=>{ SendEvent<int>((int)UIEventID.MenuPanel.ChangeMenuColor); });
}