VisualActivityViewController
A way to represent what you’re sharing.
Install / Use
/learn @naturaln0va/VisualActivityViewControllerREADME
About
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)
Features
- Text, Image, and URL previewing
- Swipe gesture to dismiss the share sheet
- Easy customization (match your app’s style)
Requirements
- iOS 9.0+
- Xcode 9.0+
Installation
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
License
This project is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
