SkillAgentSearch skills...

DJSemiModalViewController

Simple semi modal presentation dialog with stacked content

Install / Use

/learn @davnag/DJSemiModalViewController
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

DJSemiModalViewController

DJSemiModalViewController is a semi modal presentation dialog that grows with it´s added content. DJSemiModalViewController works for iPhone and iPad. DJSemiModalViewController mimic the design of the default NFC popup dialog.

<img src="https://raw.githubusercontent.com/davnag/DJSemiModalViewController/master/Screencast_1.gif" width="320">

Example

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

Installation

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

pod 'DJSemiModalViewController'

How to use it


@IBAction func buttonAction(_ sender: Any) {

    let controller = DJSemiModalViewController()
    
    controller.title = "Title"
    
    let label = UILabel()
    label.text = "An example label"
    label.textAlignment = .center
    controller.addArrangedSubview(view: label)

    controller.presentOn(presentingViewController: self, animated: true, onDismiss: { })
}

Add views to content StackView


public func addArrangedSubview(view: UIView)

public func addArrangedSubview(view: UIView, height: CGFloat)

public func insertArrangedSubview(view: UIView, at index: Int)

Presenting the ViewController


public func presentOn(presentingViewController: UIViewController, animated: Bool = true, onDismiss dismissHandler: ViewWillDismiss?)

Settings

controller.automaticallyAdjustsContentHeight = true
  
controller.maxWidth = 420

controller.minHeight = 200

controller.titleLabel.font = UIFont.systemFont(ofSize: 22, weight: UIFont.Weight.bold)

controller.closeButton.setTitle("Done", for: .normal)

Author

David Jonsén

License

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

Todo

  • Make it possible to turn close methods on/off; close button, tap on background, drag gesture.

Credits

Photo by rawpixel.com on Unsplash

View on GitHub
GitHub Stars137
CategoryContent
Updated1y ago
Forks12

Languages

Swift

Security Score

85/100

Audited on Jan 3, 2025

No findings