美文网首页专注iOS开发(OC/Swift)iOS开发实践
iOS UIbutton处于isSelected的瞬间点击问题

iOS UIbutton处于isSelected的瞬间点击问题

作者: 洲洲哥 | 来源:发表于2016-06-22 17:08 被阅读519次

    本文首发地址

    把发现的问题给大家描述一下

    有一个UIButton给设置了下面这样的代码

    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state"] forState:UIControlStateNormal];
    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state_normal"] forState:UIControlStateSelected];
    
    [self.titleButton setTitleColor:DDMColor(18, 108, 255) forState:UIControlStateNormal];
    [self.titleButton setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
    

    在点击事件之后就是isSelected了。这样设置似乎没什么问题了吧,点击,按下之类的动作是没问题的。
    但是,这个时候看官就要想想了,问题还是有的。问题就是这个UIButton是isSelected的时候,当你[按下]的时候你会发现这个UIButton似乎自己回到了UIControlStateNormal状态。

    试图去尝试解决办法:

    1:去掉按钮的高亮状态

    [self.titleButton setAdjustsImageWhenHighlighted:NO];
    

    看到这种情况,可能去猜的方向就是这个高亮的问题,结果我这样设置了之后,TMD涛声依旧啊!!!

    正确的解决办法

    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state"] forState:UIControlStateNormal];
    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state"] forState:UIControlStateHighlighted];
    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state_normal"] forState:UIControlStateSelected];
    [self.titleButton setImage:[UIImage imageNamed:@"rightImage_state_normal"] forState:UIControlStateSelected | UIControlStateHighlighted];
    
    如果还有其他title、titlecolor的问题,这种解决办法即可
    

    说一下使用场景

    为什么你关心这个吗?说你是实现与文本编辑按钮或选择按钮,背景图像和图像。你想要不同的选择并没有选择文本和图像(例如编辑和完成),但你也想要修改的图片或背景图像时高亮显示——如果你创建自己的主题,然后应用默认变暗或变暗可能不是你想要的。所以你实际上需要四个图像正常,高亮显示,选择和选择+高亮显示。这是实现如上所示。

    如有问题可添加我的QQ:1290925041
    还可添加QQ群:234812704(洲洲哥学院)
    欢迎各位一块学习,提高逼格!
    也可以添加洲洲哥的微信公众号

    更多消息

    更多信iOS开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送:

    这里写图片描述

    ()

    相关文章

      网友评论

        本文标题:iOS UIbutton处于isSelected的瞬间点击问题

        本文链接:https://www.haomeiwen.com/subject/hxlndttx.html