Quizás más tarde para la fiesta, pero puede usar una extensión simple que hice hace algunas semanas para lograr su objetivo. Puede obtenerlo here.
y utilizarlo de la siguiente manera:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(animated: Bool) {
let aButton = UIButton(type: .Custom)
aButton.frame = CGRectMake(100, 100, 100, 80)
aButton.backgroundColor = UIColor.greenColor()
aButton.handleControlEvent(.TouchUpInside) {() -> Void in
NSLog("ich")
}
self.view.addSubview(aButton)
}
}
Uno de los comentarios sobre la respuesta tiene una razón válida de por qué no a la subclase, acabo caso de que la OP no lee más allá de la gran biblioteca respuesta –