Popularity
3.1
Declining
Activity
2.1
-
165
7
13

Monthly Downloads: 0
Programming language: Swift
License: NOASSERTION
Tags: UI     Button    
Latest version: v1.2.0

SwiftShareBubbles alternatives and similar libraries

Based on the "Button" category

Do you think we are missing an alternative of SwiftShareBubbles or a related project?

Add another 'Button' Library

README

SwiftShareBubbles

Version License Platform Carthage compatible Bitrise codebeat badge

Animated Social share buttons control for iOS written in Swift. This library is inspired AAShareBubbles.

[ShareBubbles1](./Resource/ShareBubbles1.gif)

I tried AAShareBubbles with Swift, it mostly worked. But I cannot use AAShareBubbles(Objective-c code) in protocol extension. So I created SwiftShareBubbles in pure Swift.

Requirements

iOS 8.0 or later, written in Swift.

Installation

Cocoapods

pod 'SwiftShareBubbles'

Carthage

SwiftRoutes is compatible with Carthage. Add it to your Cartfile:

github "takecian/SwiftShareBubbles"

Usage

  1. Instantiate SwiftShareBubbles, specify center position and radius of Circle.
  2. Choose social buttons to be shown.
  3. Set delegate
  4. Call show method.
class ViewController: UIViewController, SwiftShareBubblesDelegate {

    var bubbles: SwiftShareBubbles?

    override func viewDidLoad() {
        super.viewDidLoad()
        bubbles = SwiftShareBubbles(point: CGPoint(x: view.frame.width / 2, y: view.frame.height / 2), radius: 100, in: view)
        bubbles?.showBubbleTypes = [Bubble.twitter, Bubble.line, Bubble.safari]
        bubbles?.delegate = self
    }

    // SwiftShareBubblesDelegate
    func bubblesTapped(bubbles: SwiftShareBubbles, bubbleId: Int) {
        if let bubble = Bubble(rawValue: bubbleId) {
            print("\(bubble)")
            switch bubble {
            case .facebook:
                break
            case .twitter:
                if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeTwitter) {
                    guard let composer = SLComposeViewController(forServiceType: SLServiceTypeTwitter) else { return }
                    composer.setInitialText("test test")
                    present(composer, animated: true, completion: nil)
                }
                break
            case .line:
                break
            default:
                break
            }
        } else {
            // custom case
        }
    }

    func bubblesDidHide(bubbles: SwiftShareBubbles) {
    }

    @IBAction func buttonTapped(_ sender: Any) {
        bubbles?.show()
    }
}

[ShareBubbles2](./Resource/ShareBubbles2.gif)

Supported buttons

  • facebook
  • Twitter
  • LINE
  • google plus
  • Youtube
  • Instagram
  • Pintereset
  • Whatsapp
  • Linkedin
  • Weibo
  • Safari

Custom icons

You can add custom icons as follows,

class ViewController: UIViewController, SwiftShareBubblesDelegate {

    var bubbles: SwiftShareBubbles?
    let customBubbleId = 100
    override func viewDidLoad() {
        super.viewDidLoad()
        ...
        let customAttribute = ShareAttirbute(bubbleId: customBubbleId, icon: UIImage(named: "Custom")!, backgroundColor: UIColor.white)
        bubbles?.customBubbleAttributes = [customAttribute]
        bubbles?.delegate = self
    }

     func bubblesTapped(bubbles: SwiftShareBubbles, bubbleId: Int) {
        if customBubbleId == bubbleId {
            // custom case
            print("custom tapped")
        }
    }
}

License

MIT


*Note that all licence references and agreements mentioned in the SwiftShareBubbles README section above are relevant to that project's source code only.