実行時にデフォルトの識別子を使用してボタンのスタイルを変更しようとすると同じ問題が発生しました.Googleで調査しましたが、これは不可能だと思うので、私の解決策は新しいボタンを作成して実行時に変更することでした.
- (IBAction)playButton:(UIBarButtonItem *)sender {
if (self.scene.isPaused){
[self.scene setPaused:YES];
UIBarButtonItem *play = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(playButton:)];
play.style = UIBarButtonItemStyleBordered;
self.botToolbar.items = [NSArray arrayWithObject:play];
}
else{
[self.scene setPaused:NO];
UIBarButtonItem *pause = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPause target:self action:@selector(playButton:)];
pause.style = UIBarButtonItemStyleBordered;
self.botToolbar.items = [NSArray arrayWithObject:pause];
}
}
ストーリーボードに追加したツールバーがあるので、その変更だけself.botToolbar.items
のツールバーを使用したい場合に使用しますNavigationController
self.toolbarItems