SkillAgentSearch skills...

BFNavigationBarDrawer

A UIToolbar subclass that can easily be displayed below a UINavigationBar, similarly to the playlist view in the Music app.

Install / Use

/learn @DrummerB/BFNavigationBarDrawer
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

BFNavigationBarDrawer

Pod Version Pod Platform Pod License Dependency Status

| With automatic scroll view adjustment | Without scroll view adjustment | | ------------- | -----| | Imgur | Imgur |

Summary

BFNavigationBarDrawer is a UIToolbar subclass that can easily be displayed below a UINavigationBar, similarly to the playlist view in the Music app. You can also assign a scroll view (or table view) to the drawer. The drawer will take care of moving the scroll view's content down and updating its contentInset property, when the drawer is displayed.

Instructions

Create a Podfile, if you don't have one already. Add the following line.

pod 'BFNavigationBarDrawer'

Run the following command.

pod install

Alternatively, you can just drop the BFNavigationBarDrawer.{h,m} files into your project.

Create a drawer instance and assign a scroll view that should be scrolled by the drawer:

drawer = [[BFNavigationBarDrawer alloc] init];
drawer.scrollView = self.tableView;

Add some UIBarButtonItems to it and when you want to display it, call:

[drawer showFromNavigationBar:self.navigationController.navigationBar animated:YES];

To hide it:

[drawer hideAnimated:YES];

   

Notes

I only tested with iOS 7. It doesn't make a lot of sense to use it with earlier iOS versions, as navigation bars used to be opaque and you could simply resize the scroll view to make room for an additional header bar.

License

New BSD License. For the full license text, see here.

Related Skills

View on GitHub
GitHub Stars721
CategoryDevelopment
Updated1d ago
Forks65

Languages

Objective-C

Security Score

80/100

Audited on Mar 31, 2026

No findings