0

Add BarButton を備えた UI ツールバーがあります。これにより、下位のviewControllerでアクションをトリガーしたいと考えています。ハマった。

ツールバーは次のように設定されています。

TopViewController.h

IBOutlet UIToolbar* toolbar;
@property (retain, nonatomic) IBOutlet UIToolbar *homeButton;
@property (retain, nonatomic) IBOutlet UIToolbar *addButton;

- (IBAction)homePlease:(id)sender;
- (IBAction)addStuff:(id)sender;

TopViewController.m

@class ItemViewController;
#import "ItemViewController.h"

- (IBAction)homePlease:(id)sender {
    //NSLog(@"%s", __FUNCTION__);
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (IBAction)addStuff:(id)sender {
    NSLog(@"%s", __FUNCTION__);
    [self.itemViewController insertNewObject:self]; <-----
}

アイテム ビュー コントローラ:

- (void)insertNewObject:(id)sender {
    //NSLog(@"%s", __FUNCTION__);

    AddItemViewController *addItem = [[AddItemViewController alloc] initWithNibName:@"AddItem-iPad" bundle:nil];


    // Create a new managed object context for the new item - set its persistent store coordinator
    // to the same as that from the fetched results controller's context.

    NSManagedObjectContext .......

    [self.addContext setPersistentStoreCoordinator:[[self.fetchedResultsController managedObjectContext] persistentStoreCoordinator]];

    addItem.item = (DDItem *)[NSEntityDescription insertNewObjectForEntityForName:@"Item" inManagedObjectContext:context];

    UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:addItem];
    nc.modalPresentationStyle = UIModalPresentationFormSheet;
    [self presentViewController:nc animated:YES completion:nil];

}

ホームボタンは正常に動作します。

addButton が起動します (ログが表示されます)。しかし、他に何も起こりません。Add ボタンは IBAction に接続されています。

どんなアドバイスでも大歓迎です

4

1 に答える 1

0

この答えは正しいようです。提示ビュー コントローラ内でボタンを設定する必要があります。これが他の人に役立つことを願っています。

于 2013-02-26T15:39:00.360 に答える