Xamarin.iOS의 단추

iOS에서 클래스는 UIButton 단추 컨트롤을 나타냅니다.

단추의 속성은 프로그래밍 방식으로 또는 Xcode의 인터페이스 작성기를 사용하여 수정할 수 있습니다.

프로그래밍 방식으로 단추 만들기

A는 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컨트롤은 각각 값Normal( , , DisabledHighlightedFocused등)으로 UIControlState 지정된 다양한 상태에 있을 수 있습니다. 각 상태는 프로그래밍 방식으로 또는 iOS 디자이너를 사용하여 지정된 고유한 스타일을 지정할 수 있습니다.

참고 항목

모든 UIControlState 값의 전체 목록은 다음을 살펴보세요. UIKit.UIControlState enumeration 설명서.

예를 들어 제목 색과 그림자 색을 다음과 같이 설정합니다.UIControlState.Normal

myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);

다음 코드는 단추 제목을 다음에 대한 특성이 지정된(스타일화된) 문자열로 UIControlState.Normal 설정합니다.UIControlState.Highlighted

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.HighlightedUIControlState.Selected 상태) 중 하나로 렌더링됩니다.

UIControlState.NormalUIControlState.HighlightedUIControlState.Selected

사용자 지정 단추 작업에 대한 자세한 내용은 단추 레시피에 이미지 사용을 참조하세요.