Вопрос

I am trying to switch a UIBarButton identifier depending on a state with this code:

if ([musicPlayer playbackState] == MPMusicPlaybackStatePlaying) {
        [playBtn setStyle:UIBarButtonSystemItemPause];
    } else {
        [playBtn setStyle:UIBarButtonSystemItemPlay];
    }

But I get this warning (and it doesn't work)

Implicit conversion from enumeration type 'enum UIBarButtonSystemItem' to different enumeration type 'UIBarButtonItemStyle' (aka 'enum UIBarButtonItemStyle')

Это было полезно?

Решение

You can't change the the button type like that. As the warning suggests you're actually changing the drawing style (plain / bordered ...) but with the wrong enum type.

To update the button, create a new one and throw the old one away.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top