This repository has been archived by the owner. It is now read-only.
A modal view controller for showing websites - inspired by the Facebook app
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A drop-in Facebook inspired modal web browser.

JBWebViewController Screenshot

Video Demo

JBWebViewController Video Demo



The recommended approach for installing JBWebViewController is through the package manager CocoaPods, which is widely used by iOS & Mac developers.

Simply add the following line to your Podfile:

pod "JBWebViewController"

Manual Install

Drag the JBWebViewController folder into your Xcode project, you may need to check the box "Copy items into destination group's folder (if needed)".

JBWebViewController needs the following third-party libraries:

Apps using JBWebViewController

Feel free to add your app to the list.

How to use

JBWebViewController is ment to be shown modally, which is recommended to be down with it's built in show functionality. Whilst not being recommended, it is however possible to present JBWebViewController outside a modal view controller. JBWebViewController should always be connected to a UINavigationController.

Presenting JBWebViewController

JBWebViewController *controller = [[JBWebViewController alloc] initWithUrl:[NSURL URLWithString:@""]];

[controller show];

Presenting JBWebViewController with block

JBWebViewController *controller = [[JBWebViewController alloc] initWithUrl:[NSURL URLWithString:@""]];

[controller showControllerWithCompletion:^(JBWebViewController *controller) {
    NSLog(@"Controller has arrived.");


[controller setLoadingString:@"Chargement.."];

Navigate to URL

[controller navigateToURL:[NSURL URLWithString:@""]];

Load custom NSURLRequest

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@""]];
[controller loadRequest:request];

Reload current page

[controller reload];

Manually setting controller title

[controller setWebTitle:@"The quick brown fox"];

Getting controller title

NSString *controllerTitle = [controller getWebTitle];

Manually setting controller subtitle

[controller setWebSubtitle:@"foo bar"];

Getting controller subtitle

NSString *controllerSubtitle = [controller getWebSubtitle];

Hide URL

controller.hideAddressBar = YES;

Access UIWebView

The UIWebView used in the controller is now public.

UIWebView *webView;


Free icons by Icons8 under Creative Commons Attribution-NoDerivs 3.0 Unported.


Mention me on Twitter (@JonasBoserup) or email me (Profile).


JBWebViewController is available under the MIT license. See the LICENSE file for more info.