I have this piece of code for an iPad app that works great for any iOS below iOS 7
UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 75, 44)]; NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2]; UIBarButtonItem *composeButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(toggleDelete:)]; [buttons addObject:composeButton]; UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; fixedSpace.width = 5; [buttons addObject:fixedSpace]; UIBarButtonItem* bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(touchMe:)]; [buttons addObject:bi]; [tools setItems:buttons animated:NO]; tools.barStyle = -1; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools]; [bi release]; [fixedSpace release]; [composeButton release]; [buttons release]; [tools release];
The result of this pre iOS 7:

The same code when running on iOS 7 produces this result:

For some reason, the buttons move to the bottom of the toolbar in iOS 7.
Now I can move them using the UIBarItem imageInset property, but this seems like a hack, because then I need to check the iOS version and only make the image if the iPad is running iOS 7+. My question is: did I miss something specific for iOS 7 related to UIToolbar? I switched to iOS 7 UI Transition Guide and did not find anything specific for this problem.
source share