Xamarin.iOS 中的按鈕
在 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.Normal
UIControlState.Highlighted
UIControlState.Disabled
UIControlState.Selected
UIControlState.Focused
UIControlState.Application
UIControlState.Reserved
如需設定按鈕樣式及設定文字的詳細資訊,請參閱:
處理按鈕點選
若要回應按鈕點選,請提供按鈕 TouchUpInside
事件的處理程式:
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
注意
TouchUpInside
不是唯一可用的按鈕事件。 UIButton
是 的 UIControl
子類別,定義 許多不同的事件。
設定按鈕的樣式
UIButton
控制項可以存在於許多不同的狀態中,每個狀態都由UIControlState
值 - Normal
、、Disabled
、 Focused
Highlighted
等所指定。每個狀態都可以以程式設計方式指定或使用 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.Normal
UIControlState.Highlighted
以及UIControlState.Selected
狀態):
如需使用自定義按鈕的詳細資訊,請參閱 使用按鈕 配方的影像。