在 iOS 中,類別 UIButton 代表按鈕控件。
按鈕的屬性可以透過程序設計方式或使用 Xcode 的 Interface Builder 來修改。
以程式設計方式建立按鈕
UIButton只能使用幾行程式代碼來建立 。
具現化按鈕並指定其類型:
UIButton myButton = new UIButton(UIButtonType.System);按鈕的類型是由
UIButtonType屬性指定:UIButtonType.System- 一般用途按鈕UIButtonType.DetailDisclosure- 指出詳細資訊的可用性,通常與數據表中的特定項目有關UIButtonType.InfoDark- 指出組態資訊的可用性;深色UIButtonType.InfoLight- 指出組態資訊的可用性;淺色UIButtonType..AddContact- 指出可以新增聯繫人UIButtonType.Custom- 可自定義按鈕
如需不同按鈕類型的詳細資訊,請參閱:
- 本檔的 [ 自定義按鈕類型] 區段
- 按鈕類型配方
- Apple 的 iOS 人類介面指導方針。
定義按鈕的大小與位置:
myButton.Frame = new CGRect(25, 25, 300, 150);設定按鈕的文字。
SetTitle使用 方法,這需要文字和UIControlState按鈕狀態的值:myButton.SetTitle("Hello, World!", UIControlState.Normal);按鈕的狀態類型如下所欄:
UIControlState.NormalUIControlState.HighlightedUIControlState.DisabledUIControlState.SelectedUIControlState.FocusedUIControlState.ApplicationUIControlState.Reserved
如需設定按鈕樣式及設定文字的詳細資訊,請參閱:
處理按鈕點選
若要回應按鈕點選,請提供按鈕 TouchUpInside 事件的處理程式:
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
注意
TouchUpInside 不是唯一可用的按鈕事件。 UIButton 是 的 UIControl子類別,定義 許多不同的事件。
設定按鈕的樣式
UIButton控制項可以存在於許多不同的狀態中,每個狀態都由UIControlState值 - Normal、、Disabled、 FocusedHighlighted等所指定。每個狀態都可以以程式設計方式指定或使用 iOS 設計工具來指定唯一樣式。
注意
如需所有 UIControlState 值的完整清單,請查看 UIKit.UIControlState enumeration 文件。
例如,若要設定的標題色彩和陰影色彩 UIControlState.Normal:
myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);
下列程式代碼會將 和 UIControlState.Highlighted的按鈕標題設定為屬性化 (文化) 字串UIControlState.Normal:
var normalAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Blue, strikethroughStyle: NSUnderlineStyle.Single);
myButton.SetAttributedTitle(normalAttributedTitle, UIControlState.Normal);
var highlightedAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Green, strikethroughStyle: NSUnderlineStyle.Thick);
myButton.SetAttributedTitle(highlightedAttributedTitle, UIControlState.Highlighted);
自訂按鈕類型
具有 UIButtonType 的 Custom 按鈕沒有預設樣式。 不過,您可以設定不同狀態的影像來設定按鈕的外觀:
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand.png"), UIControlState.Normal);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_Highlight.png"), UIControlState.Highlighted);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_On.png"), UIControlState.Selected);
視使用者是否觸控按鈕而定,它會分別轉譯為下列其中一個影像(UIControlState.NormalUIControlState.Highlighted以及UIControlState.Selected狀態):



如需使用自定義按鈕的詳細資訊,請參閱 使用按鈕 配方的影像。