把发现的问题给大家描述一下
有一个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开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送:
这里写图片描述()
网友评论