Xamarin iOS教程之警告檢視
Xamarin iOS教程之警告檢視
Xamarin iOS警告檢視
如果需要向使用者顯示一條非常重要的訊息時,警告檢視(UIAlertView類)就可以派上用場了。它的功能是把需要注意的資訊顯示給使用者。一般顯示一條資訊,或者是顯示一條資訊和幾個按鈕。本節將主要講解如何為主檢視新增警告檢視,如何將警告檢視進行顯示、如何以不同的形式顯示警告檢視以及響應警告檢視。
Xamarin iOS為主檢視新增警告檢視
在工具欄中是沒有警告檢視的,開發者必須使用程式碼的形式在主檢視中進行新增。它的新增和其他檢視的新增是有區別的。具體步驟如下:
1.例項化物件
UIAlertView類提供的警告檢視,所以在使用前,必須要進行例項化。其語法形式如下:
-
UIAlertView 物件名=new UIAlertView();
2.顯示
在例項化物件以後,就是此警告檢視物件進行顯示。此時不需要使用AddSubview()方法,而需要使用Show()方法,其語法形式如下:
-
物件名.Show();
【示例2-27】以下將實現在主檢視中顯示一個警告檢視的功能。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __25ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIAlertView alertview = new UIAlertView (); //例項化警告檢視物件
-
alertview.Show (); //顯示
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.46所示。
圖2.46 執行效果
Xamarin iOS常用的警告檢視樣式
在一個應用程式中,警告檢視的樣式是多種多樣的。以下將講解使用者在應用程式中常見到的四種警告檢視樣式。
1.無按鈕的警告檢視
在有的警告檢視中是不需要要有按鈕的,當然,它不需要使用者在此檢視上做任何的操作,這就是無按鈕的警告檢視。
【示例2-28】以下就是一個簡單的無按鈕的警告檢視的實現。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __26ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIAlertView alertView = new UIAlertView ();
-
alertView.Title = "提示"; //設定警告檢視的標題
-
alertView.Message = "電量不足"; //設定警告檢視向使用者顯示的資訊
-
alertView.Show ();
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.47所示
圖2.47 執行效果
2.具有一個按鈕的警告檢視
具有一個按鈕的警告檢視,一般是想要強制性的引起使用者的注意。如果使用者沒有注意到此檢視,那麼它會一直存在,直到使用者注意此檢視,並使用此檢視中提示的按鈕去關閉,警告檢視才會消失。如何為警告檢視新增按鈕呢,需要使用AddButton()方法實現,其語法形式如下:
-
警告檢視物件名.AddButton(“按鈕標題”);
【示例2-29】以下就是一個具有一個按鈕的警告檢視的實現。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __27ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIAlertView alertView = new UIAlertView ();
-
alertView.Title="提示";
-
alertView.Message="記憶體空間不足";
-
alertView.AddButton ("前去清理"); //為警告檢視新增按鈕
-
alertView.Show ();
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.48所示。
圖2.48 執行效果
3.具有多個按鈕的警告檢視
有時,在警告檢視中有一個按鈕是無法滿足需要的,需要在此檢視中新增多個按鈕,從而讓使用者實現多方面的選擇。此時還是需要使用AddButton()方法。
【示例2-30】以下就是具有多個按鈕的警告檢視的效果,程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __28ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIAlertView alertView = new UIAlertView ();
-
alertView.Title="謝謝";
-
alertView.Message = "親如果你對我們的商品滿意,請點亮五顆星";
-
//新增多個按鈕
-
alertView.AddButton ("前往評論");
-
alertView.AddButton ("暫不評論");
-
alertView.AddButton ("殘忍拒絕");
-
alertView.Show ();
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.49所示。
圖2.49 執行效果
4.具體文字輸入框的警告檢視
在警告檢視中也可以新增文字框檢視,此時需要使用AlertViewStyle屬性。
【示例2-31】以下的程式碼就是為文字框新增了兩個警告檢視,程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __29ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIAlertView alertView = new UIAlertView ();
-
alertView.Title="登入";
-
alertView.AlertViewStyle = UIAlertViewStyle.LoginAndPasswordInput;//設定警告檢視的風格
-
alertView.Show ();
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.50所示。
圖2.50 執行效果
注意:AlertViewStyle屬性一共有四種風格,這四種風格的效果如圖2.51所示。
圖2.51 警告檢視風格效果
Xamarin iOS響應警告檢視
在以上的警告檢視示例中,為警告檢視新增了按鈕,它們的功能都是一樣的,那就是實現警告檢視的關閉。此時,多按鈕的警告檢視就顯得多此一舉了,那麼如何讓警告檢視中的每一個按鈕都實現它自己的功能呢?這就需要實現警告檢視的響應,此時需要使用到Dismissed事件,其語法形式如果:
-
警告檢視物件.Dismissed +=觸控按鈕後的方法;
-
或者是:
-
警告檢視物件.Dismissed += (sender, e) => {
-
……
-
};
其中,sender表示事件監視的物件,e就是事件所需要的資料。
【示例2-32】以下的程式碼將在主檢視中顯示一個標題為btnShowAlert的按鈕。觸控此按鈕後,將顯示一個具有兩個按鈕的警告檢視,其標題分別為OK和Cancel。當使用者觸控警告檢視中的任意一個按鈕,都會改變為btnShowAlert按鈕的標題,程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __12ViewController : UIViewController
-
{
-
UIButton btnShowAler;
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
btnShowAler = new UIButton ();
-
btnShowAler.Frame = new RectangleF (106, 269, 108, 30);
-
btnShowAler.SetTitle ("Show Alert", UIControlState.Normal);
-
this.View.AddSubview (btnShowAler);
-
btnShowAler.TouchUpInside+=(sender, e) =>this.ShowAlert("Alert Message", "Tap OK or Cancel") ;
-
}
-
//觸控btnShowAler按鈕後實現的功能
-
private void ShowAlert(string title, string message)
-
{
-
// Create the alert
-
UIAlertView alertView = new UIAlertView(); //例項化警告檢視物件
-
alertView.Title = title; //設定標題
-
alertView.Message = message; //設定資訊
-
//新增按鈕
-
alertView.AddButton("OK");
-
alertView.AddButton("Cancel");
-
//響應警告檢視
-
alertView.Dismissed += (sender, e) => {
-
if (e.ButtonIndex == 0)
-
{
-
btnShowAler.SetTitle("OK!",UIControlState.Normal);
-
} else
-
{
-
btnShowAler.SetTitle("Cancelled!",UIControlState.Normal);
-
}
-
};
-
alertView.Show();
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
在此程式中sender表示的就是警告檢視中的按鈕,e表示點選按鈕的一些引數如ButtonIndex。執行效果如圖2.52所示。
圖2.52 執行效果
本文選自:Xamarin iOS開發實戰大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1709052/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Xamarin iOS教程之自定義檢視iOS
- Xamarin iOS教程之檢視顯示影像iOS
- Xamarin iOS教程之新增和定製檢視iOS
- Xamarin iOS教程之進度條和滾動檢視iOS
- Xamarin iOS教程之頁面控制元件iOS控制元件
- Xamarin iOS教程之顯示和編輯文字iOS
- Xamarin iOS教程之鍵盤的使用和設定iOS
- Xamarin iOS教程之編輯介面編寫程式碼iOS
- Xamarin iOS開發實戰上冊----------2.2 新增和定製檢視iOS
- Xamarin iOS教程之使用按鈕接接收使用者輸入iOS
- Xamarin.Forms特殊的檢視BoxViewORMView
- Xamarin iOS教程之申請付費開發者賬號下載證書iOS
- 11g警告檔案的檢視
- Xamarin.Forms的滾動檢視ScrollViewORMView
- Xamarin XAML語言教程基本檢視ContentViewView
- Xamarin XAML語言教程模板檢視TemplatedView(二)View
- Xamarin XAML語言教程模板檢視TemplatedView(一)View
- Xamarin XAML語言教程ContentView檢視作為自定義檢視的父類View
- Xamarin iOS開發實戰1.1.3Xamarin版本iOS
- iOS封裝Card檢視iOS封裝
- Xamarin.Forms教程下載安裝Xamarin.iOSORMiOS
- iOS常用的忽略警告iOS
- iOS探索:UI檢視之事件傳遞&檢視響應iOSUI事件
- Xamarin.iOS除錯提示需要iOS SDKiOS除錯
- 使用iostat檢視磁碟IOiOS
- iOS10 UI教程檢視的繪製與檢視控制器和檢視iOSUI
- iOS 11開發教程(十六)iOS11應用檢視之刪除空白檢視iOS
- Xamarin.iOS編譯出錯iOS編譯
- iOS10 UI教程檢視的邊界與檢視的框架iOSUI框架
- iOS10 UI教程檢視和子檢視的可見性iOSUI
- iOS開發系列--檢視切換iOS
- iOS 實現檢視指定圓角iOS
- Xamarin XAML語言教程基本檢視ContentViewg構架範圍框架View框架
- iOS Simulator功能介紹關於Xamarin IOS開發iOS
- iOS專案開發實戰——UIView的子檢視和父檢視iOSUIView
- C#蘋果應用開發——第一講初始Xamarin Xamarin ios 教程 Xamarin跨平臺開發C#蘋果iOS
- 淺談 iOS 中的檢視優化iOS優化
- iOS10 UI教程檢視除錯iOSUI除錯