Пример #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            translateButton.TouchUpInside += delegate
            {
                var translator = new PhoneTranslator();
                _translatedNumber = translator.ToNumber(phoneNumberText.Text);

                if (string.IsNullOrEmpty(_translatedNumber))
                {
                    // No hay número a llamar
                    callButton.SetTitle("Llamar", UIControlState.Normal);
                    callButton.Enabled = false;
                }
                else
                {
                    // Hay un posible número telefónico a llamar
                    callButton.SetTitle($"Llamar a {_translatedNumber}", UIControlState.Normal);
                    callButton.Enabled = true;
                }
            };

            callButton.TouchUpInside += delegate
            {
                _phoneNumbers.Add(_translatedNumber);
                var url = new NSUrl($"tel:{_translatedNumber}");

                // Utilizar el manejador de URL con el prefijo tel: para invocar a la
                // aplicación Phone de Apple, de lo contrario mostrar un diálogo de alerta.

                if (!UIApplication.SharedApplication.OpenUrl(url))
                {
                    var alert = UIAlertController.Create("No soportado", "El esquema 'tel:' no es soportado en este dispositivo",
                                                         UIAlertControllerStyle.Alert);
                    alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
                    PresentViewController(alert, true, null);
                }
            };

            callHistoryButton.TouchUpInside += delegate
            {
                CallHistoryController controller = Storyboard.InstantiateViewController("CallHistoryController") as CallHistoryController;

                if (controller != null)
                {
                    controller.PhoneNumbers = _phoneNumbers;
                    NavigationController.PushViewController(controller, true);
                }
            };
        }
Пример #2
0
 public CallHistoryDataSource(CallHistoryController controller)
 {
     // Almacena la instancia del UITableViewController
     _controller = controller;
 }