如果选中,则删除按钮的闪烁

Posted

技术标签:

【中文标题】如果选中,则删除按钮的闪烁【英文标题】:Remove Blinking of button if selected 【发布时间】:2015-07-31 10:45:23 【问题描述】:

我有一个按钮,如果我选择它,那么按钮名称应该改变并且其他复选框应该被选中。但是当我点击按钮时,按钮名称正在改变,但不是很明显。

if([btn.identifier isEqualToString:@"CheckBox"] && [self.selectAllButton.titleLabel.text  isEqualToString:@"Select All"])


    [self.selectAllButton setTitle:@"Unselect All" forState:UIControlStateNormal];
    [self.selectAllButton setSelected:YES];

    [self.selectAllButton setClipsToBounds:YES];
                    UIColor *color = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];

    [self.selectAllButton setTintColor:color];
    [btn setBackgroundImage:[UIImage imageNamed:@"selected1.png"] forState:UIControlStateNormal];
    [btn setSelected:YES];

else if ([btn.identifier isEqualToString:@"CheckBox"] && [self.selectAllButton.titleLabel.text  isEqualToString:@"Unselect All"])



    [self.selectAllButton setTitle:@"Select All" forState:UIControlStateNormal];
    [self.selectAllButton setSelected:NO];

    [btn setBackgroundImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
    [btn setSelected:NO];

你能告诉我为什么单击全选按钮后按钮没有显示。

【问题讨论】:

UIColor *color = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];这是什么 我想如果你想隐藏你的按钮,那么你应该setAlpha 而不是setTintColor 我不想隐藏我的按钮。按钮由 tintcolor 突出显示,这就是我将 tintcolor 的 alpha 设为 0.0 的原因。如果我将 alpha 值更改为 1.0 或其他值,则该按钮将再次突出显示。 【参考方案1】:

您已设置按钮颜色!为什么对所有颜色都使用 0.0?

UIColor *color = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];

alpha:0.0 表示不可见,将其更改为 alpha:1.0

删除[self.selectAllButton setSelected:YES]; & [btn setSelected:YES];

【讨论】:

实际上在使用这个 alpha:0.0 之前,这个按钮是用浅色突出显示的,这就是我这样做的原因。 一旦检查任何对象(按钮、视图、标签等),将 alpha 0.0 更改为 1.0,然后您就明白了 没有到现在还没有解决。实际上,如果我将 alpha 值更改为 1.0,那么在单击我不想要的按钮时,此按钮将突出显示。这就是为什么我把它设为 0.0 删除 setSelected: YES 语句 如果我设置 setSelected=No 那么它会影响其他功能。无论我想通过单击该按钮执行什么功能,它都无法正确执行。

以上是关于如果选中,则删除按钮的闪烁的主要内容,如果未能解决你的问题,请参考以下文章

如果所有复选框都未选中,则禁用按钮,如果至少选中一个,则启用它

如果选中/取消选中复选框,则启用/禁用提交按钮?

如果选中单选按钮,则停止表单提交

html 如果未选中复选框,则禁用按钮

如果在 Jquery 加载页面时在网格中禁用了所有复选框,则如果没有选中复选框并禁用按钮,则发出警报

如果我检查 2 输入单选,则禁用的提交按钮会启用,但如果我取消选中它们...提交按钮不会重新禁用