Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有UISwitch功能的iPhone UIButton_Iphone_Uibutton_Uiswitch - Fatal编程技术网

带有UISwitch功能的iPhone UIButton

带有UISwitch功能的iPhone UIButton,iphone,uibutton,uiswitch,Iphone,Uibutton,Uiswitch,有没有一种方法可以通过自定义的开关状态图形来实现UISwitch? 或者作为另一种选择,具有UISwitch功能的UIButton?UIButton已经支持交换机功能 只需在Interface Builder中为所选状态配置设置不同的图像,并使用UIButton的Selected属性切换其状态。将图像设置为在所选状态下显示: [button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected]

有没有一种方法可以通过自定义的开关状态图形来实现UISwitch? 或者作为另一种选择,具有UISwitch功能的UIButton?

UIButton已经支持交换机功能


只需在Interface Builder中为所选状态配置设置不同的图像,并使用UIButton的Selected属性切换其状态。

将图像设置为在所选状态下显示:

[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];
}

轻敲/选择后,它将恢复正常。这是我在没有IB的情况下所做的[favButton setImage:favOff forState:UIControlStateNormal];[favButton setImage:favOn forState:uicontrol状态高亮显示];[favButton setImage:favOn forState:UIControlStateSelected];[favButton setBackgroundColor:[UIColor clearColor]];[self.view addSubview:favButton];如何使其保持在选定状态?我为UIControlEventTouchUpInside和我选择的处理程序添加了一个目标!按钮。已选定。只要我按住按钮,它就会变成蓝色,但一旦我触地,它就会变回白色。或者我必须使用图像而不是所选颜色吗?在界面生成器中-确保为按钮的默认和选定状态设置图像。如何启用UIButton开关功能?单击时它被选中,未单击时它未被选中。是否有人注意到,当取消选择UIButton时,它会在触摸时改变状态?内部补漆时是否会发生这种情况?当选择按钮时,它会在内部润色时出现。无论是谁投票以完全重复的方式结束了这个问题,你至少应该提供一条评论,解释它是哪个帖子的重复。