Question

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')

Était-ce utile?

La solution

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top