-
Notifications
You must be signed in to change notification settings - Fork 1
Date Time Picker
You can use native IOS Date Time Picker when you want your player to pick a date, time or delay. Available picker options are listed inside the ISN_UIDateTimePickerMode enum.
The following code snippet demonstrates how to show a date picker:
using SA.iOS.UIKit;
...
ISN_UIDateTimePicker picker = new ISN_UIDateTimePicker();
picker.Show((DateTime date) => {
ISN_Logger.Log("User picked date: " + date.ToLongDateString());
});
You may also choose DateTime picker mode, the available modes are:
namespace SA.iOS.UIKit {
/// <summary>
/// The mode displayed by the date picker.
/// </summary>
public enum ISN_UIDateTimePickerMode {
/// <summary>
/// Displays hour, minute, and optionally AM/PM designation
/// depending on the locale setting (e.g. 6 | 53 | PM)
/// </summary>
Time = 1,
/// <summary>
/// Displays month, day, and year
/// depending on the locale setting (e.g. November | 15 | 2007)
/// </summary>
Date = 2,
/// <summary>
/// Displays date, hour, minute, and optionally AM/PM designation
/// depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
/// </summary>
DateAndTime = 3,
/// <summary>
/// Displays hour and minute (e.g. 1 | 53)
/// </summary>
CountdownTimer = 4
}
}
Once you choose the mode, you can also customize the appearance of date time picker. Using the following properties.
MinuteInterval - Use this property to set the interval displayed by the minute's wheel (for example, 15 minutes). The interval value must be evenly divided into 60; if it is not, the default value is used. The default and minimum values are 1; the maximum value is 30.
SetDate - Sets the date to display in the date picker.
Here are more code samples for you.
The time picker with starting time -20h from the current time, and with 30 min interval:
using SA.iOS.UIKit;
...
DateTime starDate = DateTime.Now;
starDate = starDate.AddHours(-20);
ISN_UIDateTimePicker picker = new ISN_UIDateTimePicker();
picker.SetDate(starDate);
picker.DatePickerMode = ISN_UIDateTimePickerMode.Time;
picker.MinuteInterval = 30;
picker.Show((DateTime date) => {
ISN_Logger.Log("User picked date: " + date.ToLongDateString());
});
The date picker, with start date - 20days from the current date:
using SA.iOS.UIKit;
...
DateTime starDate = DateTime.Now;
starDate = starDate.AddDays(-20);
ISN_UIDateTimePicker picker = new ISN_UIDateTimePicker();
picker.SetDate(starDate);
picker.DatePickerMode = ISN_UIDateTimePickerMode.Date;
picker.Show((DateTime date) => {
ISN_Logger.Log("User picked date: " + date.ToLongDateString());
});
The Countdown Timer with 10 minutes interval, that will have countdown timer initial value 5h 40min.
using SA.iOS.UIKit;
...
ISN_UIDateTimePicker picker = new ISN_UIDateTimePicker();
picker.DatePickerMode = ISN_UIDateTimePickerMode.CountdownTimer;
picker.MinuteInterval = 10;
//Set countdown start duration
int hours = 5;
int minutes = 20;
int seconds = 0;
TimeSpan span = new TimeSpan(hours, minutes, seconds);
picker.SetCountDownDuration(span);
picker.Show((DateTime date) => {
ISN_Logger.Log("User picked date: " + date.ToLongDateString());
});
In case you want to track intermediate values while a user is picking a date you may subscribe to OnPickerDateChanged event
See the example below:
ISN_UIDateTimePicker.OnPickerDateChanged.AddListener((DateTime date) => {
Debug.Log("User chnaged a date to: " + date.ToLongDateString());
});
Reliable and high-quality Unity Development service. Let's Talk!
Website | AssetStore | LinkedIn | Youtube | Scripting Reference
- Getting Started
- Authentication
- Game Center UI
- Leaderboards
- Default Leaderboard
- Achievements
- Saving A Game
- Access Point
- iTunes Connect Setup
- StoreKit Initialization
- Purchase flow
- Receipt Validation
- Store Review Controller
- Storefront API
- Subscription Offers