Swift 3: Add UIButton extension to ViewController

ios, swift-extensions, swift3, uibutton

Solution

Try this:

extension UIButton {
   func createRectangleButton(buttonPositionX: Double, buttonPositionY: Double ,buttonWidth: Double, buttonHeight: Double, buttonTilte: String) {
       let button = self // changes made here
       button.frame = CGRect(x: buttonPositionX, y: buttonPositionY, width: buttonWidth, height: buttonHeight)
       button.setTitle(buttonTilte, for: .normal)
       button.backgroundColor = COLOR_WHITE
       button.tintColor = COLOR_BLACK
   }
}

Problem

I'm a beginner in iOS/Swift and trying to create a simple application without Storyboard. I created a `UIButton` extension and I would like to add a simple button to my view (constraints will be set later). Unfortunately the button is not visible. I would appreciate if somebody helps me. Thank you! --- Buttons.swift --- ``` extension UIButton { func createRectangleButton(buttonPositionX: Double, buttonPositionY: Double ,buttonWidth: Double, buttonHeight: Double, buttonTilte: String) { let button = UIButton(type: .system) as UIButton button.frame = CGRect(x: buttonPositionX, y: buttonPositionY, width: buttonWidth, height: buttonHeight) button.setTitle(buttonTilte, for: .normal) button.backgroundColor = COLOR_WHITE button.tintColor = COLOR_BLACK } } ``` --- InitialViewController.swift --- ``` import UIKit class InitialViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() // Gradient Layer view.addGradientBackground(colorTop: COLOR_ROYALRED2, colorBottom: COLOR_ROYALRED1) // Button let startButton = UIButton() startButton.createRectangleButton(buttonPositionX: 50, buttonPositionY: 20, buttonWidth: 200, buttonHeight: 50, buttonTilte: "START") self.view.addSubview(startButton) } } ```

Original source