1

我正在尝试 MonoTouch 和 MonoTouch.Dialog 并且想知道什么是仅为分钟和秒创建时间条目元素的最佳方法。TimeElement 似乎只支持小时和分钟。

我对整个框架很陌生,所以我想知道是否有办法创建一个带有“##:##”掩码的文本输入元素并使用数字键盘来填充分钟和秒?

一个更酷的选择是使用一个部分,将用户带到具有两个“选择器视图”(旋转轮子)的视图几分钟和几秒钟,但我还没有。

提前致谢

4

1 回答 1

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;
        }
    }

如果这不能让您足够接近,您可以创建自己的选择器并将其返回。

于 2012-11-02T12:32:28.050 回答