A way to represent what you’re sharing.

Programming language: Swift
License: MIT License
Tags: UI     Control     iOS     Swift     Sharing     Preview    

VisualActivityViewController alternatives and similar libraries

Based on the "UI" category.
Alternatively, view VisualActivityViewController alternatives based on common mentions on social networks and blogs.

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

Add another 'UI' Library



This project provides a preview of items being shared via UIActivityViewController. Example:

// standard activity view controller
let vc = UIActivityViewController(activityItems: [shareText])

// custom activity view controller with a preview 
let vc = VisualActivityViewController(text: shareText)


  • Text, Image, and URL previewing
  • Swipe gesture to dismiss the share sheet
  • Easy customization (match your app’s style)


  • iOS 9.0+
  • Xcode 9.0+


To install, simply add the VisualActivityViewController.swift file to your project.

Advanced Usage

There are quite a few different options to customize the appearance of the preview. Check out the example project to see how some of these options work.

/// The duration for the preview fading in
var fadeInDuration: TimeInterval = 0.3

/// The duration for the preview fading out
var fadeOutDuration: TimeInterval = 0.3

/// The corner radius of the preview
var previewCornerRadius: CGFloat = 12

/// The corner radius of the preview image
var previewImageCornerRadius: CGFloat = 3

/// The side length of the preview image
var previewImageSideLength: CGFloat = 80

/// The padding around the preview
var previewPadding: CGFloat = 12

/// The number of lines to preview
var previewNumberOfLines: Int = 5

/// The preview color for URL activity items
var previewLinkColor: UIColor = UIColor(red: 0, green: 0.47, blue: 1, alpha: 1)

/// The font for the preview label
var previewFont: UIFont = UIFont.systemFont(ofSize: 18)

/// The margin from the top of the viewController's window
var previewTopMargin: CGFloat = 8

/// The margin from the top of the viewController's view
var previewBottomMargin: CGFloat = 8


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

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