Add toolbar to UITableViewController

后端 未结 3 1723
时光说笑
时光说笑 2021-01-30 08:44

What is the simplest way to add UIToolBar to UITableViewController? I\'m depending on edit functionality, so I can\'t change UITableViewController to UIViewController easily.

3条回答
  •  遥遥无期
    2021-01-30 09:41

    No problem at all, UITableViewController is a subclass of UIViewController. And it so happens that in iPhone OS 3.0 any UIViewController (and subclasses) can work in conjunction with a UINavigationController to provide a context aware toolbar.

    In order for this to work you must:

    • Make sure that you use a UINavigationController to contain all your view controllers that needs a toolbar.
    • Set the toolbarsItems property of the view controller that wants a toolbar.

    This is almost as easy as as setting the view controller's title, and should be done the same way. Most probably by overriding the initWithNibName:bundle: initializer. As an example:

    -(id)initWithNibName:(NSString*)name bundle:(NSBundle*)bundle;
    {
      self = [super initWithNibName:name bundle:bundle];
      if (self) {
        self.title = @"My Title";
        NSArray* toolbarItems = [NSArray arrayWithObjects:
            [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                                                          target:self
                                                          action:@selector(addStuff:)],
            [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch 
                                                          target:self
                                                          action:@selector(searchStuff:)],
            nil];
        [toolbarItems makeObjectsPerformSelector:@selector(release)];
        self.toolbarItems = toolbarItems;
        self.navigationController.toolbarHidden = NO;
      }
      return self;
    }
    

    You can also use setToolbarItems:animated: instead of assigning to the toolbarItems property, to add and remove toolbar items in an animated fashion on the fly.

提交回复
热议问题