title: Cannot subclass UIButton: Must call a designated initializer of the superclass 'UIButton'
body: <p>Trying to subclass UIButton but the error <code>Must call a designated initializer of the superclass 'UIButton'</code> occurs.</p>
  
  <p>Researching several SO posts <a href="https://stackoverflow.com/questions/29031270/initializer-does-not-override-a-designated-initializer-from-its-superclass">like this</a>, <a href="https://stackoverflow.com/questions/27079681/how-to-init-a-uibutton-subclass">this</a>, <a href="https://stackoverflow.com/questions/29531133/swift-must-call-a-designated-initializer-of-the-superclass-uiinputviewcontroller">this</a>, or several others did not help as those solutions didn't work.</p>
  
  <p>How can we subclass <code>UIButton</code> in Swift and define a custom init function?</p>
  
  <pre><code>import UIKit
  
  class KeyboardButton : UIButton {
      var letter = ""
      var viewController:CustomViewController?
  
      required init(coder aDecoder: NSCoder) {
          fatalError("init(coder:) has not been implemented")
      }
  
      init(letter: String, viewController: CustomViewController) {
          super.init()
          ...
      }
  }
  </code></pre>