我在主屏幕上有一个UIButton,其标题应始终显示当前播放或待播放的音乐,如果播放列表为空,则应显示“音乐”,单击它将显示一首歌曲选择屏幕(当播放列表为空时)或播放列表屏幕(当播放列表不为空时),选择歌曲并转到播放列表屏幕,删除歌曲并滑回主屏幕后,UIButton的标题应显示“音乐”。
问题在于:当您向后滑动太快时,“音乐”文本将在瞬间显示然后消失,但是当您缓慢滑动时,“音乐”文本会保留。
我在this 25-second video录制了非常奇怪的行为。
以下是相关代码:
- (void)updateChooseMusicButton {
if(self.songQueue.count == 0) {
[self.chooseMusicButton setTitle:@"Music" forState:UIControlStateNormal];
}
}
- (void)setChooseMusicButton:(UIButton *)chooseMusicButton {
_chooseMusicButton = chooseMusicButton;
[_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
}
答案 0 :(得分:1)
找到解决方案:将按钮类型更改为“自定义”,它使用“系统”。当标题发生变化时,它还会处理闪烁。
答案 1 :(得分:0)
评论此代码并尝试运行..
- (void)setChooseMusicButton:(UIButton *)chooseMusicButton {
_chooseMusicButton = chooseMusicButton;
[_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
}
并在viewWillAppear方法中调用updateChooseMusicButton函数。