| | |
| | | /// 结束事件(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
|
| | |
|
| | |
| | | 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>
|
| | |
| | | /// </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) =>
|
| | |
| | | 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;
|
| | |
| | | };
|
| | | }
|
| | |
|
| | | /// <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 ■ 一般方法___________________________
|