Button


super: UIButton (on iOS)

A Button object is a view that executes your custom code in response to user interactions. You communicate the purpose of a button using a text label, an image, or both.

Events

  • Load() This event is called when the object becames available in the current runtime system.

  • WillShow() The view is about to be added to the App's views hierarchy.

  • WillHide() The view is about to be removed from the App's views hierarchy.

  • Action() This event is called when a touch is released (touch-up) inside the bounds of the button

  • DidShow() The view has been added to the App's views hierarchy.

  • DidHide() The view has been removed from the App's views hierarchy.

  • Unload() This event is called when the object has been removed from the current runtime system (but not yet deallocated).

Properties

  • var title: String The title of the button. Use this property instead of the titleForState and setTitleForState methods if you want to use the same title for all the button states.

  • var font: Font The font used for the button’s title string.

  • var type: ButtonType Returns the button type. (read-only)

  • var currentTitle: String Returns the title for the current button state. (read-only)

  • var currentTitleColor: Color Returns the color of the title for the current button state. (read-only)

  • var currentTitleShadowColor: Color Returns the color of the title shadow for the current button state. (read-only)

  • var currentImage: Image Returns the image for the current button state. (read-only)

  • var currentBackgroundImage: Image Returns the background image for the current button state. (read-only)

Initializers

  • func Button(buttonType: ButtonType) Creates and returns a new button of the specified type.

Methods

  • func titleForState(state: ControlState): String Returns the title associated with the specified state.

  • func setTitleForState(title: String, state: ControlState) Sets the title associated with the specified state. At a minimum, you should set the value for the normal state. If a title is not specified for a state, the default behavior is to use the title associated with the normal state. If the value for normal is not set, then the property defaults to a system value.

  • func titleColorForState(state: ControlState): Color Returns the title color used for the specified state.

  • func setTitleColorForState(color: Color, state: ControlState) Sets the color of the title to use for the specified state.

  • func titleShadowColorForState(state: ControlState): Color Returns the shadow color of the title used for the specified state.

  • func setTitleShadowColorForState(color: Color, state: ControlState) Sets the color of the title shadow to use for the specified state.

  • func imageForState(state: ControlState): Image Returns the image used for the specified state.

  • func setImageForState(image: Image, state: ControlState) Sets the image to use for the specified state.

  • func backgroundImageForState(state: ControlState): Image Returns the background image used for the specified state.

  • func setBackgroundImageForState(image: Image, state: ControlState) Sets the background image to use for the specified state.

  • func animate(duration: Float, delay: Float, options: AnimationOption, closure: Closure, completion: Closure) Animate changes to one or more views using the specified duration, delay, options and completion handler.

  • func setFocus() Force focus to be set to the selected control. For TextField and TextView that means force Keyboard to appear.

  • func clearFocus() Clear focus from selected control

Enumeration

ButtonType

  • .ContactAdd
  • .Custom
  • .DetailDisclosure
  • .InfoDark
  • .InfoLight
  • .RoundedRect
  • .System

ControlState

  • .Application
  • .Disabled
  • .Focused
  • .Highlighted
  • .Normal
  • .Selected

AnimationOption

  • .AllowAnimatedContent
  • .AllowUserInteraction
  • .Autoreverse
  • .BeginFromCurrentState
  • .CurveEaseIn
  • .CurveEaseInOut
  • .CurveEaseOut
  • .CurveLinear
  • .LayoutSubviews
  • .OverrideInheritedCurve
  • .OverrideInheritedDuration
  • .OverrideInheritedOptions
  • .Repeat
  • .ShowHideTransitionViews
  • .TransitionCrossDissolve
  • .TransitionCurlDown
  • .TransitionCurlUp
  • .TransitionFlipFromBottom
  • .TransitionFlipFromLeft
  • .TransitionFlipFromRight
  • .TransitionFlipFromTop
  • .TransitionNone

Examples

// How to programmatically stretch a background image to fill a button background
// Add this code in the button Load() function.

// Load a generic button background image, it's middle content can be stretched but not the corners!
var img = Image("button_image");

// Create an EdgeInset according to the button's shape to "cut-out" the corners (20x20 is a size measured in points)
var edge = EdgeInsets(20, 20, 20, 20);

// Create a new image with the loaded button background and the properly set EdgeInsets
img = img.resizableImageWithCapInsets(edge, ImageResizingMode.Stretch);

// Set the image as the new background image for the current button
self.setBackgroundImageForState(img, ControlState.Normal);