我正在尝试 MonoTouch 和 MonoTouch.Dialog 并且想知道什么是仅为分钟和秒创建时间条目元素的最佳方法。TimeElement 似乎只支持小时和分钟。
我对整个框架很陌生,所以我想知道是否有办法创建一个带有“##:##”掩码的文本输入元素并使用数字键盘来填充分钟和秒?
一个更酷的选择是使用一个部分,将用户带到具有两个“选择器视图”(旋转轮子)的视图几分钟和几秒钟,但我还没有。
提前致谢
我正在尝试 MonoTouch 和 MonoTouch.Dialog 并且想知道什么是仅为分钟和秒创建时间条目元素的最佳方法。TimeElement 似乎只支持小时和分钟。
我对整个框架很陌生,所以我想知道是否有办法创建一个带有“##:##”掩码的文本输入元素并使用数字键盘来填充分钟和秒?
一个更酷的选择是使用一个部分,将用户带到具有两个“选择器视图”(旋转轮子)的视图几分钟和几秒钟,但我还没有。
提前致谢
MonoTouch.Dialog 的源代码可在 Github (https://github.com/migueldeicaza/MonoTouch.Dialog/tree/master/MonoTouch.Dialog) 上获得。
在那里,看看DateElement的实现(https://github.com/migueldeicaza/MonoTouch.Dialog/blob/master/MonoTouch.Dialog/Elements.cs#L1827)
为了得到你TimeElementMinutesSeconds
,你所要做的就是(未经测试)滥用倒计时模式。它将提供小时和分钟,但您可以将它们解释为分钟和秒:
public class TimeElementMinutesSeconds : DateTimeElement {
public TimeElementMinutesSeconds (string caption, DateTime date) : base (caption, date)
{
}
public override string FormatDate (DateTime dt)
{
DateTime dtLocal = GetDateWithKind (dt).ToLocalTime ();
return string.Format("{0:##}:{1:##}"dtLocal.Hours, dtLocal.Minutes);
}
public override UIDatePicker CreatePicker ()
{
var picker = base.CreatePicker ();
picker.Mode = UIDatePickerMode.CountDownTimer;
return picker;
}
}
如果这不能让您足够接近,您可以创建自己的选择器并将其返回。