Java と Swift の ButtonのClickEventListener

ボタンとイベントの追加メモ

// Java
@Override
public void onCreate(Bundle savedInstanceState){
	super.onCreate(savedInstanceState);
	Button btn = new Button(this);
	btn.setText(“ぼたんだよ”);
	btn.setOnClickListener(new myOnClickListener());
	setContentView(btn);
}
private class myOnClickListener implements OnClickListener{
	@Override
	public void onClick(View v){
		((Button)v).setText(“押されたぞい”);
	}
}

Swift3.x

override func viewDidLoad() {
	super.viewDidLoad()
	var btn : UIButton = UIButton()
	btn.setTitle("ぼたんだよ", for: UIControlState.normal)
	btn.addTarget(self, action: #selector(ViewController.onClickButton(sender:)), for: UIControlEvents.touchUpInside)
	self.view.addSubview(btn)
}
func onClickButton(sender: UIButton) {
	sender.setTitle("押されたぞい", for: UIControlState.normal)
}

Swift2.x

override func viewDidLoad() {
	super.viewDidLoad();
	var btn : UIButton = UIButton();
	btn.setTitle("ぼたんだよ", forState: UIControlState.Normal);	
	btn.addTarget(self, action: "onClickButton:", forControlEvents: UIControlEvents.TouchUpInside);
	self.view.addSubview(btn);
}
func onClickButton (sender : UIButton){
	sender.setTitle("押されたぞい", forState: UIControlState.Normal);
}

Swift のほうが長いと思ってたけどそうでもなかった

ついでにObjective-C

// objective-c
/* .h */
-(void)onClickButton:(UIButton *) sender;

/* .m */
- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton * btn = [[UIButton alloc] init];
    [btn setTitle:@"ぼたんだよ" forState: UIControlStateNormal];
    [btn addTarget:self action:@selector(onClickButton:) forControlEvents:UIControlStateNormal];
    [self.view addSubview:btn];
}
- (void)onClickButton:(UIButton *) sender{
    [sender setTitle:@"押されたぞい" forState:UIControlStateNormal];
}

ではでは

Atsumi3

したいことをします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください