Nice programing

UISwitch 기능이있는 iPhone UIButton

nicepro 2020. 11. 30. 19:53
반응형

UISwitch 기능이있는 iPhone UIButton


스위치 상태에 대한 사용자 지정 그래픽으로 UISwitch를 구현하는 방법이 있습니까? 아니면 대안으로 UISwitch 기능이있는 UIButton?


UIButton 이미 "스위치"기능을 지원합니다.

Interface Builder에서 "선택된 상태 구성"에 대해 다른 이미지를 설정하고의 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];
}

참고 URL : https://stackoverflow.com/questions/2255166/iphone-uibutton-with-uiswitch-functionality

반응형