私は2つの状態でシンプルUIButton
です。button
forUIControlEventTouchDown
イベントにアクションを追加しました。通常の状態ではすべてうまく動作しbutton
、 に触れるとメソッドが呼び出されbutton
ます。しかし、に触れbutton
てselected state
も何も起こらbutton
ず、指を離すだけで状態が通常 (Like UIControlEventTouchUpInside
) に変わります。
どうすればこれを解決できますか?
このメソッドを使用してボタンを作成します。
- (UIButton *) createButtonWithFrame:(CGRect)frame title:(NSString *)title {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setFrame:frame];
[button setTitle:title forState:UIControlStateNormal];
[button setTitleColor:UIColorFromRGB(0x3a3a3a) forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
[[button titleLabel] setFont:[UIFont fontWithName:@"Gotham-Bold" size:10]];
[button setBackgroundImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"button_pressed.png"] forState:(UIControlStateSelected)];
[button setAdjustsImageWhenHighlighted:NO];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];
return button;
}
そしてbuttonPressed:
、このようなものです:
- (void) buttonPressed:(UIButton *)sender {
[sender setSelected:!sender.selected];
}