我正在尝试使用MonoTouch和MonoTouch.Dialog,并且想知道仅在几分钟和几秒内创建Time条目元素的最佳方法。 TimeElement似乎只支持小时和分钟。
我对整个框架都很陌生,所以我想知道是否有办法创建一个带有“##:##”掩码的文本输入元素,并使用数字小键盘填充分钟和秒?
更酷的选择是使用一个部分,用户可以将视图带到两个“Picker Views”(旋转轮)几分钟和几秒钟,但我还没有。
提前致谢
答案 0 :(得分:1)
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;
}
}
如果这不能让你足够接近,你可以创建自己的选择器并返回它。