Skip to content

UIButtonをトグルボタンにする方法

2012年1月22日

ちょいちょい使う機会が増えてきたのでコピペしておく

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で管理すると良い。

広告

From → iPhone開発

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。