Popup your custom view is easy, support custom mask style, transition effects and gesture to drag.
Clone or download
Latest commit 3bfb27b Apr 23, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example Update Apr 23, 2018
Preview update Dec 29, 2017
zhPopupController Update Apr 23, 2018
.gitignore Initial commit Feb 8, 2017
LICENSE update Aug 18, 2017
README.md Update Apr 23, 2018
_Pods.xcodeproj update Aug 18, 2017
zhPopupController.podspec Update Apr 23, 2018



Language Version License Platform

Popup your custom view is easy, support custom mask style, transition effects and gesture to drag.


To run the example project, clone the repo, and run pod install from the Example directory first.


  • Requires iOS 7.0 or later
  • Requires Automatic Reference Counting (ARC)


zhPopupController is available through CocoaPods. To install it, simply add the following line to your Podfile:

platform :ios, '7.0'

target 'You Project' do
	pod 'zhPopupController', '~> 1.0'



  • Direct use of zh_popupController popup your custom view.
    [self.zh_popupController presentContentView:customView];
  • Customize.
    self.zh_popupController = [zhPopupController popupControllerWithMaskType:zhPopupMaskTypeWhiteBlur];
    self.zh_popupController.layoutType = zhPopupLayoutTypeLeft;
    self.zh_popupController.allowPan = YES;
    // ...
    [self.zh_popupController presentContentView:customView];


  • Update (September 11, 2017 v0.1.6)

    • Support dismiss automatically.
 present your content view.
 @param contentView This is the view that you want to appear in popup. / 弹出自定义的contentView
 @param duration Popup animation time. / 弹出动画时长
 @param isSpringAnimated if YES, Will use a spring animation. / 是否使用弹性动画
 @param sView  Displayed on the sView. if nil, Displayed on the window. / 显示在sView上
 @param displayTime The view will disappear after `displayTime` seconds. / 视图将在displayTime后消失
- (void)presentContentView:(nullable UIView *)contentView
                    inView:(nullable UIView *)sView

  • Update (September 13, 2017 v0.1.7)

    • Content layout fixes

    • Observe to keyboard changes will change contentView layout

    • New offsetSpacingOfKeyboard properties. You can through it adjust the spacing relative to the keyboard when the keyboard appears. default is 0

      The pan gesture will be invalid when the keyboard appears.

  • Update (September 21, 2017 v0.1.8)

    • Support ios11 system version

    • When system is larger than iOS 8 will use of UIVisualEffectView to do mask blur effect.

  • Update (November 20, 2017 v1.0.2)
    • New method - (void)fadeDismiss for fade out of your content view.

    • In 1.0.2 zhPopupSlideStyleShrinkInOut will be deprecated, You should use zhPopupSlideStyleShrinkInOut1 or zhPopupSlideStyleShrinkInOut2


snail-z, haozhang0770@163.com


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