iOS 7 では、テーブルビューの下部にポップアップする UIToolbar に UIBarButtonItem が表示されません。
UIToolbar *actionToolbar;
UIBarButtonItem *actionButton;
私は次のように追加しています:
actionToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 524, 320, 44)];
actionButton =
[[[UIBarButtonItem alloc]
initWithTitle:@"Delete"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(noAction:)]
autorelease];
[actionToolbar setItems:[NSArray arrayWithObject:actionButton]];
UIToolbar を表示するコードは次のとおりです。
- (void)showActionToolbar:(BOOL)show
{
CGRect toolbarFrame = actionToolbar.frame;
CGRect tableViewFrame = self.tableView.frame;
if (show)
{
TOOLBAR_DISPLAYED = TRUE;
toolbarFrame.origin.y = actionToolbar.superview.frame.size.height - toolbarFrame.size.height;
tableViewFrame.size.height -= toolbarFrame.size.height;
}
else
{
TOOLBAR_DISPLAYED = FALSE;
toolbarFrame.origin.y = actionToolbar.superview.frame.size.height;
tableViewFrame.size.height += toolbarFrame.size.height;
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
actionToolbar.frame = toolbarFrame;
self.tableView.frame = tableViewFrame;
//I use this now in iOS7 to show the toolbar as purple otherwise it shows white
actionToolbar.superview.backgroundColor = [UIColor colorWithRed:0.10 green:0.10 blue:0.43 alpha:0.5];
[UIView commitAnimations];
}
これは以前のバージョンでは問題なく動作し、現在何が問題なのかわかりません。