2011-12-03 12 views

答えて

3

デフォルトではありません。 UIButtonをサブクラス化してこれを実現することもできます。誰かがそれをしたhere

#import <BlocksKit/UIControl+BlocksKit.h> 

[someButton addEventHandler:^(id sender) { 
    // some action here 
} forControlEvents:(UIControlEventTouchUpInside)]; 

またはRxSwift button.rx.tap、観察を使用します。

+1

その答えのコメントの一つはサブクラスにない理由について正当な理由を持って、私はOPの答えを過ぎ –

13

はい、あなたはBlocksKitライブラリで簡単にそれを行うことができます。

+2

グレートライブラリを読んでいない場合!ありがとう。ありがとう。 –

+0

迅速な仕事でさえ –

2

あなたの目標を達成するために、私は数週間前に作った簡単な拡張機能を使用することができます。あなたはhereを得ることができます。

そして、次のようにそれを使用する:

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) 
    } 
} 
関連する問題