From 64390bc739286477167e186f1f2b40a27a73a9a5 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 02 三月 2021 17:31:01 +0800 Subject: [PATCH] 20210302-1 --- HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs | 103 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 88 insertions(+), 15 deletions(-) diff --git a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs index 66dcb23..49c40dd 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs @@ -17,6 +17,26 @@ /// 缁撴潫浜嬩欢(0:鐐瑰嚮浜嗗彇娑� 1:鐐瑰嚮浜嗙‘瀹�,绗簩,涓夊弬鏁颁负鏃跺拰鍒�) /// </summary> public Action<int, int, int> FinishEvent = null; + /// <summary> + /// 灏忔椂鍙栧�艰寖鍥� + /// </summary> + List<int> hRange = new List<int>(); + /// <summary> + /// 鍒嗛挓鍙栧�艰寖鍥� + /// </summary> + List<int> mRange = new List<int>(); + /// <summary> + /// 鏃堕棿鎺т欢 + /// </summary> + UIPickerView pickerView; + //閫夋嫨鐨勬椂涓庡垎 + int selectHour = 0; + int selectMinute = 0; + //XX鏃� + List<string> listHour ; + //XX鍒� + List<string> listMinute; + #endregion @@ -30,7 +50,35 @@ public BottomTimeSelectControl(string i_title = "", bool clickBackClose = true) { base.ClickBackClose = clickBackClose; + base.StrTitle = i_title; + + + for (int i = 0; i <= 23; i++) + { + hRange.Add(i); + } + for (int i = 0; i <= 59; i++) + { + mRange.Add(i); + } + } + + + /// <summary> + /// 搴曢儴鏃堕棿閫夋嫨鎺т欢 + /// </summary> + /// <param name="i_title">鏍囬</param> + /// <param name="clickBackClose">鐐瑰嚮鑳屾櫙鏃�,鏄惁鍏抽棴寮圭獥</param> + public BottomTimeSelectControl(List<int> hoursRange,List<int> minuteRange ,int rowCount, string i_title = "", bool clickBackClose = true) + { + base.ClickBackClose = clickBackClose; base.StrTitle = i_title; + + hRange = hoursRange; + mRange = minuteRange; + + base.RowCount = rowCount; + } /// <summary> @@ -38,19 +86,16 @@ /// </summary> /// <param name="i_hour">榛樿閫夋嫨鏃�</param> /// <param name="i_minute">榛樿閫夋嫨鍒�</param> - public void InitControl(int i_hour, int i_minute) + /// <param name="contentView">閫夋嫨鍖哄煙楂樺害</param> + public void InitControl(int i_hour, int i_minute,int contentView = 297) { //宸茬粡鍒濆鍖� if (base.btnCancel != null) { return; } //鍒濆鍖栧簳灞傛帶浠� var frameWhiteBack = base.InitBaseControl(); - frameWhiteBack.Height = Application.GetRealHeight(297); - frameWhiteBack.Y = frameWhiteBack.Parent.Height - Application.GetRealHeight(297 + 20); - - //閫夋嫨鐨勬椂涓庡垎 - int selectHour = 0; - int selectMinute = 0; + frameWhiteBack.Height = Application.GetRealHeight(contentView); + //frameWhiteBack.Y = frameWhiteBack.Parent.Height - Application.GetRealHeight(297 + 20); //鍙栨秷 base.btnCancel.ButtonClickEvent += (sender, e) => @@ -78,22 +123,24 @@ frameWhiteBack.AddChidren(btnLine); //鏃堕棿鎺т欢 - var pickerView = new UIPickerView(); + pickerView = new UIPickerView(); //鏃� var strhour = Language.StringByID(StringId.h); //鍒� var strMinute = Language.StringByID(StringId.m); //XX鏃� - var listHour = new List<string> { "00" + strhour }; + listHour = new List<string>();// { "00" + strhour }; //XX鍒� - var listMinute = new List<string> { "00" + strMinute }; - for (int i = 1; i <= 23; i++) + listMinute = new List<string>();// { "00" + strMinute }; + //for (int i = 1; i <= 23; i++) + foreach(var hItem in hRange) { - listHour.Add(i.ToString().PadLeft(2, '0') + strhour); - } - for (int i = 1; i <= 59; i++) + listHour.Add(hItem.ToString().PadLeft(2, '0') + strhour); + } + //for (int i = 1; i <= 59; i++) + foreach (var mItem in mRange) { - listMinute.Add(i.ToString().PadLeft(2, '0') + strMinute); + listMinute.Add(mItem.ToString().PadLeft(2, '0') + strMinute); } pickerView.Height = frameWhiteBack.Height - btnLine.Bottom; pickerView.Width = frameWhiteBack.Width - Application.GetRealWidth(8) * 2; @@ -117,6 +164,32 @@ }; } + /// <summary> + /// 鐗规畩鐨勯泦鍚堥�夋嫨浜嬩欢锛屽噳闇告椂闂磋缃娇鐢� + /// </summary> + public void ChangePickerEvent() + { + pickerView.OnSelectChangeEvent = (value1, value2, value3) => + { + if (value1 == 0 && value2 == 0) + { + value2 = 1; + pickerView.setCurrentItems(value1, value2, 0); + } + else if (value1 == 4 && value2 == 1) + { + value2 = 0; + pickerView.setCurrentItems(value1, value2, 0); + } + else + { + //鏇存敼绱㈠紩 + selectHour = Convert.ToInt32(listHour[value1].Substring(0, 2)); + selectMinute = Convert.ToInt32(listMinute[value2].Substring(0, 2)); + } + }; + } + #endregion #region 鈻� 涓�鑸柟娉昣__________________________ -- Gitblit v1.8.0