//委托,在每个界面发生状态变化时候需要做的操作 private void _ViewStateChange(InterfaceView viewCan, UIMgr.ViewStateType type) { List <UiExcel> tempUiExcelList = DataMgr.Instance.tableUI.GetInfoByNameAndValue("name", viewCan.ViewName()); if (tempUiExcelList.Count < 1) { ZLogger.Error("找不到界面的信息,请查看UIExcel表配置是否正确!"); return; } UiExcel uiData = tempUiExcelList[0]; switch (type) { case ViewStateType.CLOSE: UpdateErrorViewDic.Remove(viewCan.ViewName()); _UpdateCacheView(uiData.id, viewCan, false, uiData.holdBoo); _AdjustMaskAndActive(); break; case ViewStateType.LOAD_COMPLETE: break; case ViewStateType.UNLOAD: _UpdateDel(uiData.id, viewCan); break; case ViewStateType.LOAD_FAIL: _RemoveWaitOpenValue(viewCan); break; case ViewStateType.GIVE_UP_LOAD: ZLogger.Info("请注意:{0}放弃加载!!!,原因是:没加载完成之前,有人调用了closeview()", viewCan.ViewName()); _RemoveWaitOpenValue(viewCan); break; case ViewStateType.OPEN: _RemoveWaitOpenValue(viewCan); _UpdateCacheView(uiData.id, viewCan, true, uiData.holdBoo); _CheckExclusion(uiData, viewCan); _SortOpeningView(); _AdjustMaskAndActive(); break; case ViewStateType.LOAD_SUCESS: break; } }
/// <summary> /// 获取最上层view名 /// </summary> public string GetTopView() { if (topView != null) { return(topView.ViewName()); } return(null); }
//从已关闭界面列表或永久持有界面列表中,移除指定名字的界面 private void _ClearCacheView(InterfaceView viewCan) { InterfaceView tempView = _GetCacheView(viewCan.ViewName(), 0); if (tempView != null) { tempView.DisposeView(); } }