Skip to content

A web browser module for your iOS apps.

License

Notifications You must be signed in to change notification settings

100grams/KINWebBrowser

 
 

Repository files navigation

KINWebBrowser

KINWebBrowser is a web browser module for your apps.

Powered by WKWebView on iOS 8. Backwards compatible with iOS 7 using UIWebView.

KINWebBrowser Screenshots

Features

  • iOS 7 & 8 support for iPhone and iPad devices
  • Safari-like interface
  • Animated progress bar
  • Customizable UI including tint color
  • Portrait and landscape orientation support
  • Use with existing UINavigationController or present modally
  • Delegate protocol for status callbacks
  • Action button to allow users to copy URL, share, or open in Safari & Google Chrome
  • Supports subclassing
  • Installation with CocoaPods

Overview

KINWebBrowser consists of a single component:

KINWebBrowserViewController - a UIViewController that contains a full featured web browser.

KINWebBrowserViewController must be contained in a UINavigationController.

Pushing to the navigation stack:

if let webBrowser = KINWebBrowserViewController.webBrowser() {
    webBrowser.loadURLString("http://www.example.com")
    self.navigationController?.pushViewController(webBrowser, animated: true)
}

Presenting Modally:

UINavigationController *webBrowserNavigationController = [KINWebBrowserViewController navigationControllerWithWebBrowser];
[self presentViewController:webBrowserNavigationController animated:YES completion:nil];

KINWebBrowserViewController *webBrowser = [webBrowserNavigationController rootWebBrowser];
[webBrowser loadURLString:@"http://www.example.com"];

Installation

CocoaPods

CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries in your projects. See the "Getting Started" for more information.

Podfile
platform :ios, '8.0'
pod 'KINWebBrowser'

Dependencies

These dependency projects should be also installed with KINWebBrowser. They are installed automatically when installing KINWebBrowser with CocoaPods.

  • TUSafariActivity - a UIActivity subclass that provides an "Open In Safari" action to a UIActivityViewController
  • ARChromeActivity - a UIActivity subclass that provides an "Open In Google Chrome" action to a UIActivityViewController

Customizing the User Interface

Tint Color

The tint color of the toolbars and toolbar items can be customized.

webBrowser.tintColor = UIColor.blue
webBrowser.barTintColor = UIColor.black

Title Bar Content

The URL can be shown in the UINavigationBar while loading. The title of the page can be shown when loading completes.

webBrowser.showsURLInNavigationBar = false
webBrowser.showsPageTitleInNavigationBar = true

Toolbar

webBrowser.toolbarHidden = true // hides the bottom toolbar, added in 1.5.0

Implementing KINWebBrowserDelegate Protocol

KINWebBrowserDelegate is a set of @optional callback methods to inform the delegate of status changes.

- (void)webBrowser:(KINWebBrowserViewController *)webBrowser didStartLoadingURL:(NSURL *)URL;
- (void)webBrowser:(KINWebBrowserViewController *)webBrowser didFinishLoadingURL:(NSURL *)URL;
- (void)webBrowser:(KINWebBrowserViewController *)webBrowser didFailToLoadURL:(NSURL *)URL withError:(NSError *)error;

About

A web browser module for your iOS apps.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 97.4%
  • Ruby 2.6%