ナビゲーションコントローラーのトップビューでツールバー項目を設定しようとしています。サブビューでは機能するようですが、トップビューでは機能しないのはなぜですか...何かアイデアはありますか? 追加ボタンは表示されますが、カスタム ボタンは表示されません。
- (void)configureToolbarItems {
UIBarButtonItem *addButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self action:@selector(addNewTaskButtonPressed)];
//Green button
greenButton=[app makeGreenButton:self];
UIBarButtonItem *greenBarButton = [[UIBarButtonItem alloc] initWithCustomView:greenButton];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
// Set our toolbar items
[self setToolbarItems:[NSArray arrayWithObjects:
addButtonItem,flexibleSpace, greenBarButton, nil] animated:YES]; }
これは makeButton プロシージャです...他のビューでは正常に動作します:
-(UIButton*)makeGreenButton:(UIViewController*)caller {
UIButton *greenButton;
//load the image for yellow button
UIImage *greenButtonImage = [UIImage imageNamed:@"greenButton.png"];
//create the button and assign the image
greenButton = [UIButton buttonWithType:UIButtonTypeCustom];
[greenButton setImage:greenButtonImage forState:UIControlStateNormal];
greenButton.showsTouchWhenHighlighted=TRUE;
//set the frame of the button to the size of the image (see note below)
greenButton.frame = CGRectMake(0, 0, greenButtonImage.size.width*2, greenButtonImage.size.height*2);
//Add target
[greenButton addTarget:caller action:@selector(greenButtonReleased:) forControlEvents:UIControlEventTouchUpInside];
return greenButton; }