UIButtonをトグルボタンにする方法
ちょいちょい使う機会が増えてきたのでコピペしておく
highlightedFlagはメンバ変数。
- (void)highlightReset:(id)sender{ UIButton *button = (UIButton *)sender; button.highlighted = NO; } - (void)highlighted:(id)sender{ NSLog(@"highlightedFlag"); UIButton *button = (UIButton *)sender; button.highlighted = YES; } - (void)buttonPush:(id)sender{ UIButton *button = (UIButton *)sender; NSLog(@"%d",[button isHighlighted]); if (highlightedFlag) { [self highlightReset:button]; }else{ [self performSelector:@selector(highlighted:) withObject:button afterDelay:0.0]; } highlightedFlag = !highlightedFlag; } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; highlightedFlag = NO; UIButton *toggleButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; toggleButton.frame = CGRectMake(0, 0, 100, 100); toggleButton.center = CGPointMake(160, 200); toggleButton.highlighted = highlightedFlag; [toggleButton addTarget:self action:@selector(buttonPush:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:toggleButton]; }
たくさん必要なときは、トグル状況をArrayで管理すると良い。
コメントする