https://github.com/tourcoder/swiftwebvc-revised
SwiftWebVC Revised is a Revised version of SwiftWebVC, I fixed some bugs in SwiftWebVC
https://github.com/tourcoder/swiftwebvc-revised
Last synced: 4 months ago
JSON representation
SwiftWebVC Revised is a Revised version of SwiftWebVC, I fixed some bugs in SwiftWebVC
- Host: GitHub
- URL: https://github.com/tourcoder/swiftwebvc-revised
- Owner: tourcoder
- License: mit
- Created: 2021-07-10T13:39:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-07-22T08:46:35.000Z (11 months ago)
- Last Synced: 2026-01-21T12:21:12.683Z (5 months ago)
- Language: Swift
- Homepage:
- Size: 484 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SwiftWebVC Revised
SwiftWebVC Revised is a Revised version of SwiftWebVC, I fixed some bugs in SwiftWebVC.
# All about SwiftWebVC
SwiftWebVC is a simple inline browser for your Swift iOS app.

**SwiftWebVC features:**
* iPhone and iPad distinct UIs
* Full landscape orientation support
* Back, forward, stop/refresh and share buttons
* Open in Safari and Chrome UIActivities
* Navbar title set to the currently visible web page
* Talks with `setNetworkActivityIndicatorVisible`
* 3 different themes to choose from when presented modally

## Installation
**CocoaPods**
* SwiftWebVC is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:
```ruby
pod 'SwiftWebVC'
```
**Carthage**
[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
```bash
$ brew update
$ brew install carthage
```
To integrate SwiftWebVC into your Xcode project using Carthage, specify it in your `Cartfile`:
```ogdl
github "meismyles/SwiftWebVC"
```
Run `carthage update` to build the framework and drag the built `SwiftWebVC.framework` into your Xcode project.
**Manual**
* Add the `SwiftWebVC/` folder into your project.
## Usage
Just like any UIViewController, SwiftWebVC can be pushed into a UINavigationController stack:
```swift
let webVC = SwiftWebVC(urlString: "http://google.com")
self.navigationController?.pushViewController(webVC, animated: true)
```
It can be presented modally using `SwiftModalWebVC`:
```swift
let webVC = SwiftModalWebVC(urlString: "http://google.com")
self.present(webVC, animated: true, completion: nil)
```
### Options
The share button can be disabled by passing a flag in to the constructor to specify this:
```swift
let webVC = SwiftWebVC(urlString: "http://google.com", sharingEnabled: false)
```
The same principal applies for the modal implementation also:
```swift
let webVC = SwiftModalWebVC(urlString: "http://google.com", sharingEnabled: false)
```
#### Modal Options Only
Themes may be chosen for the modal implementation. The default theme is `Light-Blue`. Other modal themes `Light-Black` and `Dark` may be chosen using one of the following instead:
```swift
let webVC = SwiftModalWebVC(urlString: "http://google.com", theme: .lightBlack)
let webVC = SwiftModalWebVC(urlString: "http://google.com", theme: .dark)
```
## Delegate (Start/Finish Loading Callbacks)
SwiftWebVC also includes a delegate protocol that allows you to implement `didStartLoading` and `didFinishLoading` functions to determine when loading starts and finishes.
_Note: This is currently only implemented for `SwiftWebVC`, **not** `SwiftModalWebVC`._
To implement this, after declaring your instance of `SwiftWebVC`, set it's delegate and implement the callback functions. For example:
**Inititalisation**
```swift
let webVC = SwiftWebVC(urlString: "https://www.google.com")
webVC.delegate = self
self.navigationController?.pushViewController(webVC, animated: true)
```
**Delegate Implementation**
```swift
extension ViewController: SwiftWebVCDelegate {
func didStartLoading() {
print("Started loading.")
}
func didFinishLoading(success: Bool) {
print("Finished loading. Success: \(success).")
}
}
```
### SwiftWebVCActivity
Starting in iOS 6 Apple uses `UIActivity` to let you show additional sharing methods in share sheets. `SwiftWebVC` comes with "Open in Safari" and "Open in Chrome" activities. You can easily add your own activity by subclassing `SwiftWebVCActivity` which takes care of a few things automatically for you. Have a look at the Safari and Chrome activities for implementation examples.Typed
## Credits
SwiftWebVC is a Swift implementation of [Sam Vermette's SVWebViewController](https://github.com/samvermette/SVWebViewController/). Code transcription, updates and changes were carried out by Myles Ringle. The original SVWebViewController was brought to you by [Sam Vermette](http://samvermette.com) and [contributors to the project](https://github.com/samvermette/SVWebViewController/contributors).
If you have feature suggestions or bug reports, feel free to help out by sending pull requests or by [creating new issues](https://github.com/meismyles/SwiftWebVC/issues/new). If you're using SwiftWebVC in your project, attribution is always appreciated.
Thanks to [Icons8](https://icons8.com/) for the images.