KUIPopOver 1.2.0

KUIPopOver 1.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019 年 8 月
SPM支持 SPM

Kofktu 维护。



  • Kofktu

KUIPopOver

Swift CocoaPods Carthage compatible

  • 在 iOS 中(iPhone,iPad)轻松使用 PopOver

alt tag

要求

  • iOS 8.0+
  • Swift 4.2
  • Swift 4.0 (1.0.4)
  • Swift 3.0 (0.0.4)

安装

CocoaPods

KUIPopOver 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中

pod 'KUIPopOver'

Carthage

适用于iOS 8及以上版本的Carthage项目

github "Kofktu/KUIPopOver"

使用说明

之前

let popOverViewController = DefaultPopOverViewController()
popOverViewController.preferredContentSize = CGSize(width: 200.0, height: 300.0)
popOverViewController.popoverPresentationController?.sourceView = sender

let customView = CustomPopOverView(frame: CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: 200.0, height: 300.0)))
popOverViewController.view.addSubview(customView)
popOverViewController.popoverPresentationController?.sourceRect = sender.bounds
present(popOverViewController, animated: true, completion: nil)

KUIPopOverUsable

public protocol KUIPopOverUsable {
    var contentSize: CGSize { get }
    var contentView: UIView { get }
    var popOverBackgroundColor: UIColor? { get }
    var arrowDirection: UIPopoverArrowDirection { get }
}

UIView

public func showPopover(sourceView: UIView, sourceRect: CGRect?, completion: ShowPopoverCompletion?)
public func showPopover(barButtonItem: UIBarButtonItem, completion: ShowPopoverCompletion?)
public func dismissPopover(animated: Bool, completion: DismissPopoverCompletion?)

UIViewController

public func showPopover(sourceView: UIView, sourceRect: CGRect?, completion: ShowPopoverCompletion?)
public func showPopoverWithNavigationController(sourceView: UIView, sourceRect: CGRect?, completion: ShowPopoverCompletion?)
public func showPopover(barButtonItem: UIBarButtonItem, completion: ShowPopoverCompletion?)
public func showPopoverWithNavigationController(barButtonItem: UIBarButtonItem, completion: ShowPopoverCompletion?)
public func dismissPopover(animated: Bool, completion: DismissPopoverCompletion?)

概览

UIView

class CustomView: UIView, KUIPopOverUsable {
    // The default size is the size of the view, and you can override it if you want to customize it.
    var contentSize: CGSize {
    	return Size
    }
}

let view = CustomView()
view.showPopover(barButtonItem: sender)
view.dismissPopover(animated: true)
view.dismissPopover(animated: true, completion: {
})

UIViewController

class CustomViewController: UIViewController, KUIPopOverUsable {
    var contentSize: CGSize {
        // PopOver preferredContentSize
    }
}

let customViewController = CustomViewController()

// from senderView
customViewController.showPopover(sourceView: sender, sourceRect: sender.bounds)

// from barButtonItem
customViewController.showPopover(barButtonItem: sender)

// with NavigationController
customViewController.showPopoverWithNavigationController(sourceView: sender, sourceRect: sender.bounds)

customViewController.dismissPopover(animated: true)
customViewController.dismissPopover(animated: true, completion: {
})

作者

Taeun Kim (kofktu), [email protected]

许可

KUIPopOver 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。