1

MonoTouch と MonoTouch.Dialog を試してみましたが、分と秒だけの時間エントリ要素を作成する最良の方法は何だろうと思っていました。TimeElement は時間と分のみをサポートしているようです。

私はフレームワーク全体に非常に慣れていないので、「##:##」マスクのようなテキスト入力要素を作成し、テンキーを使用して分と秒を入力する方法があるかどうか疑問に思っていますか?

よりクールなオプションは、ユーザーを 2 つの「ピッカー ビュー」(回転するホイール) を持つビューに数分と数秒表示するセクションを使用することですが、私はまだそこにいません。

前もって感謝します

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 に答える