سؤال

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