A fully customizable popup style menu for iOS 😎

Overview

Guide

Check out the documentation and guides for details on how to use. (Available languages:)

What's a better way to know what PopMenu offers than some live action images? Here's to show you what you can do with PopMenu:

💪🏻 Contribute

Thank you if you are interested in contributing to the project, I appreaciate it!

Before committing any changes, please make sure to read the Contribution Guidelines first, thank you!

📗 Check Documentation

Documentation is available at https://popmenu.calic.dev/

[Join Our Slack Channel](https://join.slack.com/t/newpopmenu/shared_invite/enQtMzQ4OTExMzE0OTM1LWFhM2IxYmYxOGZmMTgzNjQxMWRiNzUyZmYwN2M4ZmQ2YWYxY2VhNWI3MDlmM2JhOTM5NjAwODlmNjQzMmVlODM)

Comments
  • Content scrollable

    Content scrollable

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    Is it possible to make actions scrollable inside menu? I mean, what happens if I have many many actions?

    💻 Environment

    • iOS Version: [iOS VERSION]
    • Xcode Version: [XCODE VERSION]
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: [YES] or [NO]
    enhancement 
    opened by quetool 4
  • PopMenuDefaultAction.iconWidthHeight is a static property

    PopMenuDefaultAction.iconWidthHeight is a static property

    This is a cool popup menu, I like it, and I will use it in my project. But when I add my icon image(size 18 pixel) to PopMenuDefaultAction, It looks ugly. The image is much bigger than I expected. So I looked at the source code and found a problem.

    PopMenuDefaultAction.iconWidthHeight is a static property, I think it should be automatically calculated.

    NSLayoutConstraint.activate([
                    iconImageView.widthAnchor.constraint(equalToConstant: PopMenuDefaultAction.iconWidthHeight),
                    iconImageView.heightAnchor.constraint(equalTo: iconImageView.widthAnchor),
                    iconImageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: PopMenuDefaultAction.iconLeftPadding),
                    iconImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
                ])
    

    iconImageView.widthAnchor and iconImageView.heightAnchor should be automatically calculated based on the size of the image.

    Now I am using a custom PopMenuAction named PopMenuCustomAction and modifying PopMenuDefaultAction.iconWidthHeight to 18 to resolve my problem.

    Please fix this issue, Thanks.

    enhancement 
    opened by shalyf 4
  • Error when importing in a Swift Project

    Error when importing in a Swift Project

    Errors when importing the pod in a swift project, I had to manually fix your Pod

    PopMenu.m:11:9: error: 'XHRealTimeBlur.h' file not found with <angled> include; use "quotes" instead
    PopMenu.m:11:9: error: 'XHRealTimeBlur.h' file not found with <angled> include; use "quotes" instead
    MenuButton.m:10:9: error: 'POP.h' file not found with <angled> include; use "quotes" instead
    #import <POP.h>
    

    -> please remove <> and replace with ""

    opened by altagir 3
  • Error While Archive Process

    Error While Archive Process

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    💻 Environment

    • iOS Version: [12]
    • Xcode Version: [10]
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: [YES] or [NO]
    opened by lendra85 3
  • Fix Xcode 13 builds

    Fix Xcode 13 builds

    Checklist

    • [x] I've tested my changes.
    • [x] I've read the Contribution Guidelines.
    • [x] I've updated the documentation if necessary.

    Motivation and Context

    Even though docs say not to update minimum target; with Xcode 13, builds are failing due to @available attribute on Haptic enum. Issue seen below. #67 #66

    Description

    • updated deployment target on project to iOS 10.0
    • updated podspec to reflect this change
    • removed @available attribute on haptic file
    opened by jopache 2
  • Dismiss PopMenu Programmatically

    Dismiss PopMenu Programmatically

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    How to dismiss PopMenu programmatically? I am using PopMenuManager to show menu.

    💻 Environment

    • iOS Version: 13.5
    • Xcode Version: 11.5
    • Device(s): Simulator
    • Simulator?: ☑️ or ❌
    opened by BBITSDev 2
  • Set Item's Selection Style to none

    Set Item's Selection Style to none

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    💻 Environment

    • iOS Version: iOS11
    • Xcode Version: 10.3
    • Device(s): [iPhone 6 and above]
    • Simulator?: ☑️

    How can I remove the dark background of an item when the user de-selecting it? Or remove all the style of the item selection

    Screen Shot 2019-08-21 at 1 40 22 AM
    opened by nrshoudi 2
  • Customize location

    Customize location

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    It is a very nice pop up menu, however, looks like the position is sticked to the center of the screen rather than being customized. It would be good if this can be an option. e.g. on the right top corner right below the navigation bar.

    💻 Environment

    • iOS Version: [iOS VERSION]
    • Xcode Version: [XCODE VERSION]
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: ☑️ or ❌
    opened by xSci 2
  • Swift5 compatibility

    Swift5 compatibility

    Checklist

    • [x] I've tested my changes.
    • [x] I've read the Contribution Guidelines.
    • [x] I've updated the documentation if necessary.

    Motivation and Context

    It is for installing in an environment using Xcode 10.2 and Swift 5.

    Description

    Updated support version to Xcode 10.2 and Swift 5.

    enhancement 
    opened by AkkeyLab 2
  • 是否可以设置偏移,因为我不想PopMenu挡住Button的位置:UIBarButtonItem

    是否可以设置偏移,因为我不想PopMenu挡住Button的位置:UIBarButtonItem

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    💻 Environment

    • iOS Version: [iOS VERSION] IOS 11 Swift 4.2
    • Xcode Version: [XCODE VERSION] XCode 10.1
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: ☑️ or ❌
    opened by China77 2
  • can't set PopMenuActionColor

    can't set PopMenuActionColor

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    this code is invalid since actionColor is an object and can't be set manager.popMenuAppearance.popMenuColor.actionColor = .green

    💻 Environment

    • iOS Version: [iOS VERSION]
    • Xcode Version: [XCODE VERSION] 10.1
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: ☑️
    opened by galblank 2
  • Add support for specifying max width

    Add support for specifying max width

    Checklist

    • [x] I've tested my changes.
    • [x] I've read the Contribution Guidelines.
    • [x] I've updated the documentation if necessary.

    Motivation and Context

    Wanted more control over the width of the menu; Also fixes #33

    Description

    Added a property in PopMenuAppearance that allows you to set the minimum width the menu should try to maintain. Setting it to nil or .none will revert to the old implementation.

    opened by FaizanDurrani 0
  • Add Feature For Border Color

    Add Feature For Border Color

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    💻 Environment

    • iOS Version: [iOS VERSION]
    • Xcode Version: [XCODE VERSION]
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: ☑️ or ❌
    opened by dhvl1729 0
  • Xcode 13.0 Enum cases with associated values cannot be marked potentially unavailable with '@available'

    Xcode 13.0 Enum cases with associated values cannot be marked potentially unavailable with '@available'

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    💻 Environment

    • iOS Version: [iOS VERSION]
    • Xcode Version: [XCODE VERSION]
    • Device(s): [INSERT DEVICE(S) HERE]
    • Simulator?: ☑️ or ❌
    opened by nobut 6
  • Xcode 13 compatibility issue - Haptics.swift

    Xcode 13 compatibility issue - Haptics.swift

    ✍🏻 Issue Description

    Errors in Haptics.swift with changes in Xcode 13.

    specifically: Enum cases with associated values cannot be marked potentially unavailable with '@available'

    Screen Shot 2021-07-23 at 11 18 38 AM

    💻 Environment

    • Xcode Version: Xcode Version 13.0 beta 3 (13A5192j)
    opened by jminutaglio 1
  • 可以支持icon 放右边吗

    可以支持icon 放右边吗

    ✔️ Issue Checklist

    ✍🏻 Issue Description

    可以支持icon 放右边吗

    opened by roycehe 0
Releases(v2.1.2)
  • v2.1.2(Jan 5, 2019)

    • Fixed unwanted carryover selection highlight state #19
    • Added dedicated toggle for whether to use PopMenuManager or PopMenuViewController to present menus
    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Sep 3, 2018)

    Fixed:

    • Content is now scrollable when there's more than 6 actions (customizable) #10
    • Each action's icon image width height sizing is now configurable, #9
    • Each action's icon image is now customizable to set different rendering mode (.alwaysOriginal, .alwaysTemplate), #8
    • Fixed incorrect views rendering when device orientation changes, thanks to @Shaun Farrel
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Sep 3, 2018)

    Fixed:

    • Content is now scrollable when there's more than 6 actions (customizable) #10
    • Each action's icon image width height sizing is now configurable, #9
    • Each action's icon image is now customizable to set different rendering mode (.alwaysOriginal, .alwaysTemplate), #8
    • Fixed incorrect views rendering when device orientation changes, thanks to @Shaun Farrel
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Jun 8, 2018)

  • v1.1.2(Apr 25, 2018)

  • v1.1.1(Apr 25, 2018)

  • v1.1.0(Apr 24, 2018)

    Changelog:

    • Removed the process of setting barButtonItem manually
    • Add shouldEnableHaptics option for PopMenuViewController
    • Change library module name to PopMenu, instead of NewPopMenu for CocoaPods
    • Rename handler to didSelect for each action
    • Rename dismissalHandler to didDismiss
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Apr 17, 2018)

    Changes:

    • Fixed calling manager.addAction() will crash
    • Speed up dismissal duration from 0.143s to 0.098s
    • Added dismissalHandler for PopMenuViewController
    • Added handler for each action when initializing
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Apr 17, 2018)

  • v1.0.0(Apr 17, 2018)

Owner
Cali Castle
Left brain Engineer and right brain Designer.
Cali Castle
A simple custom popup dialog view for iOS written in Swift. Replaces UIAlertController alert style.

A simple custom popup dialog view for iOS written in Swift. Replaces UIAlertController alert style.

donggyu 5 Jan 26, 2022
Highly customizable alertview and alert/notification/success/error/alarm popup written in Swift

CDAlertView is highly customizable alert popup written in Swift. Usage is similar to UIAlertController. Screenshots Animations Usage Basic usage witho

Candost Dagdeviren 1.1k Dec 30, 2022
Fully customizable and extensible action sheet controller written in Swift

XLActionController By XMARTLABS. XLActionController is an extensible library to quickly create any custom action sheet controller. Examples The action

xmartlabs 3.3k Dec 31, 2022
A SwiftUI Partial Sheet fully customizable with dynamic height

A SwiftUI Partial Sheet fully customizable with dynamic height

Andrea Miotto 1.4k Jan 5, 2023
SplitSheet - A lightweight, fully interactive split-screen sheet.

SplitSheet A lightweight, fully interactive split-screen sheet. Powered by UIScrollView for super-smooth gestures. Show/hide either programmatically o

Andrew Zheng 154 Dec 15, 2022
A Swift Toast view - iOS 14 style and newer - built with UIKit. 🍞

Toast-Swift A Swift Toast view - iOS 14 style - built with UIKit. ?? Installation Swift Package Manager You can use The Swift Package Manager to insta

Bastiaan Jansen 216 Jan 4, 2023
A simple style messages/notifications, in Swift.

Demo Example To show notifications use the following code: self.showMessage("Something success", type: .success) To display a notice on a view: view.s

Gesen 704 Dec 17, 2022
Bulletin / 'Toast' style view for tvOS.

KBBulletinView Bulletin / 'Toast' style view for tvOS. This project is an effort to create local application notifications/alerts similar to those use

Kevin Bradley 4 Nov 26, 2022
Multiplatform (iOS, macOS) SwiftUI bottom sheet drawer. Expandable bottomsheet. Slide out bottom menu

Multiplatform (iOS, macOS) SwiftUI bottom sheet drawer Features It does not re-render the background content while manipulating with the sheet iOS and

Igor 8 Nov 18, 2022
The easiest way to display highly customizable in app notification banners in iOS

Written in Swift 5 NotificationBanner is an extremely customizable and lightweight library that makes the task of displaying in app notification banne

Dalton Hinterscher 4.5k Jan 9, 2023
A customizable, full-feature, lightweight iOS framework to be used instead of UIAlertController.

A customizable, full-feature, lightweight iOS framework to be used instead of UIAlertController.

Ali Samaiee 11 Jun 6, 2022
💌 Easy to use and customizable messages/notifications for iOS à la Tweetbot

Notice: TSMessages is no longer being maintained/updated. We recommend everyone migrate to RMessage. This repository will be kept as is for those who

Felix Krause 4.9k Dec 31, 2022
[iOS] Easy, customizable notifications displayed on top of the statusbar. With progress and activity. iPhone X ready.

JDStatusBarNotification Show messages on top of the status bar. Customizable colors, font and animation. Supports progress display and can show an act

M Emrich 3.8k Dec 27, 2022
FCAlertView is a Flat Customizable AlertView for iOS (Written in Objective C)

FCAlertView FCAlertView is a Flat Customizable AlertView, written in Objective C Quick Links 1. Swift 2. Installation 3. Example App 4. Adding FCAlert

Nima Tahami 794 Nov 29, 2022
FCAlertView is a Flat Customizable AlertView for iOS (Swift)

FCAlertView FCAlertView is a Flat Customizable AlertView, written in Swift [![CI Status](http://img.shields.io/travis/Nima Tahami/FCAlertView.svg?styl

Kris Penney 114 Apr 19, 2022
Customizable Dynamic Bottom Sheet Library for iOS

DynamicBottomSheet Powerd by Witi Corp., Seoul, South Korea. Fully Customizable Dynamic Bottom Sheet Library for iOS. This library doesn't support sto

Witi Official 10 May 7, 2022
A customizable framework to create draggable views

CFNotify CFNotify is written in Swift. Using UIKit Dynamics as animator. It can make ANY UIView object draggable and throwable. This library mainly us

Johnny Tsoi 491 Nov 20, 2022
PMAlertController is a great and customizable alert that can substitute UIAlertController

PMAlertController is a small library that allows you to substitute Apple's uncustomizable UIAlertController, with a beautiful and totally customizable

Paolo Musolino 2.5k Jan 3, 2023
PMAlertController is a great and customizable alert that can substitute UIAlertController

PMAlertController is a small library that allows you to substitute Apple's uncustomizable UIAlertController, with a beautiful and totally customizable

Paolo Musolino 2.5k Jan 3, 2023