是否有一种使用自定义图形为开关状态实现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