質問

スイッチステート用のカスタムグラフィックを使用してUiswitchを実装する方法はありますか?それとも、別の方法で、uiswitch機能を備えたuibutton?

役に立ちましたか?

解決

UIButton すでに「スイッチ」機能をサポートしています。

「選択された状態構成」用にインターフェイスビルダーに別の画像を設定し、 selected の財産 UIButton その状態を切り替える。

他のヒント

選択した状態で表示する画像を設定します。

[button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected];

そして、セレクター内のタッチアップで、セットを設定します。

button.selected = YES;

これを別のボタンの選択をキャンセルする場合は、次のことを設定します。

otherButton.selected = NO;

PGBとNurneが上記で述べたことを構築するには、状態を設定してセレクター(イベント方法)を添付した後、このコードをそのセレクターに入れたいと思うでしょう。

- (IBAction)cost:(id)sender 
{
    //Toggle current state and save
    self.buttonTest.selected = !self.buttonTest.selected;

    /**
     The rest of your method goes here.
     */
}

プログラム的に傾斜した場合:

-(void) addToggleButton {
    CGRect aframe = CGRectMake(0,0,100,100);

    UIImage *selectedImage = [UIImage imageNamed:@"selected"];
    UIImage *unselectedImage = [UIImage imageNamed:@"unselected"];

    self.toggleUIButton = [[UIButton alloc] initWithFrame:aframe];
    [self.toggleUIButton setImage:unselectedImage forState:UIControlStateNormal];
    [self.toggleUIButton setImage:selectedImage forState:UIControlStateSelected];
    [self.toggleUIButton addTarget:self 
                            action:@selector(clickToggle:) 
                  forControlEvents:UIControlEventTouchUpInside];
    [self addSubview:self.toggleUIButton];
}

-(void) clickToggle:(id) sender {
    BOOL isSelected = [(UIButton *)sender isSelected];
    [(UIButton *) sender setSelected:!isSelected];
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top