共用方式為


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 - 可自定義按鈕

    如需不同按鈕類型的詳細資訊,請參閱:

  • 定義按鈕的大小與位置:

    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、、DisabledFocusedHighlighted等所指定。每個狀態都可以以程式設計方式指定或使用 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);

自訂按鈕類型

具有 UIButtonTypeCustom 按鈕沒有預設樣式。 不過,您可以設定不同狀態的影像來設定按鈕的外觀:

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狀態):

UIControlState.NormalUIControlState.HighlightedUIControlState.Selected

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