【问题标题】:UIButton's title mysteriously disappears when sliding back too fastUIButton的标题在滑回太快时神秘消失
【发布时间】:2014-12-11 07:44:00
【问题描述】:

我在主屏幕上有一个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];
}

【问题讨论】:

    标签: ios objective-c ios7 uibutton ios8


    【解决方案1】:

    注释这段代码并尝试运行..

    - (void)setChooseMusicButton:(UIButton *)chooseMusicButton {
            _chooseMusicButton = chooseMusicButton;
            [_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
            [_chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
    }
    

    并在 viewWillAppear 方法中调用 updateChooseMusicButton 函数。

    【讨论】:

    • 在 updateChooseMusicButton 函数中添加这一行.. [self.chooseMusicButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
    • 我为该按钮的所有 UIControlStates 尝试了 setcolor,但没有用。
    【解决方案2】:

    找到解决方案:将按钮的类型更改为“自定义”,它使用的是“系统”。它还负责标题更改时的闪烁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多