Je devais le faire aussi. En faisant comme l'a suggéré Ken, je ne pouvais pas trouver un bon moyen d'animer la rotation. Il est préférable de pouvoir définir la transformation sur l'image de l'élément, ce que vous ne pouvez pas faire avec un UIBarButtonItem simple mais avec un construit avec une vue personnalisée:
à la place de [[UIBarButtonItem alloc] initWithImage: image objectif: action t: a]:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:t action:a forControlEvents:UIControlEventTouchUpInside];
[button setImage:image forState:UIControlStateNormal];
button.showsTouchWhenHighlighted = YES; // makes it highlight like normal
item = [[UIBarButtonItem alloc] initWithCustomView:button];
vous pouvez faire:
[UIView beginAnimations:@"rotate barbuttonitems" context:NULL];
item.customView.transform = CGAffineTransformMakeRotation(M_PI_2);
[UIView commitAnimations];
Voulez-vous dire la barre d'outils se creuse avec la rotation, mais reste sur le côté gauche ou à droite de l'écran? Ou voulez-vous dire que le texte du bouton tourne et que le bouton et la barre d'outils restent au même endroit? –
ce que j'essaie de faire est: l'utilisateur fait pivoter l'iPhone, les icônes sur les boutons sur la barre d'outils pivotent, de sorte que l'utilisateur peut les voir debout. – SpaceDog