You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
using Foundation;
|
|
using OrderStacks.Interface;
|
|
using OrderStacks.iOS.Services;
|
|
using UIKit;
|
|
|
|
[assembly: Xamarin.Forms.Dependency(typeof(MessageIOS))]
|
|
namespace OrderStacks.iOS.Services
|
|
{
|
|
public class MessageIOS : IMessage
|
|
{
|
|
const double LONG_DELAY = 3.5;
|
|
const double SHORT_DELAY = 2.0;
|
|
|
|
public void LongAlert(string message)
|
|
{
|
|
ShowAlert(message, LONG_DELAY);
|
|
}
|
|
|
|
public void ShortAlert(string message)
|
|
{
|
|
ShowAlert(message, SHORT_DELAY);
|
|
}
|
|
|
|
void ShowAlert(string message, double seconds)
|
|
{
|
|
var alert = UIAlertController.Create(null, message, UIAlertControllerStyle.Alert);
|
|
|
|
var alertDelay = NSTimer.CreateScheduledTimer(seconds, obj =>
|
|
{
|
|
DismissMessage(alert, obj);
|
|
});
|
|
|
|
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null);
|
|
}
|
|
|
|
void DismissMessage(UIAlertController alert, NSTimer alertDelay)
|
|
{
|
|
if (alert != null)
|
|
{
|
|
alert.DismissViewController(true, null);
|
|
}
|
|
|
|
if (alertDelay != null)
|
|
{
|
|
alertDelay.Dispose();
|
|
}
|
|
}
|
|
}
|
|
}
|