测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布上次发布 | 2017年6月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Linh Chu 维护。
LCUIComponents 是一个持续进行的工程,支持在屏幕上选择控件时创建出现在其他内容上方的短暂视图。目前,该框架提供简单的自定义弹出框和可选数据列表的支持。
以下是在创建弹出框的示例。对于更高级的用法,请查看 Sample
目录。
import LCUIComponents
import UIKit
class PopoverSamplesVC: UIViewController {
// Create a data source
let spiceList: [LCTuple<Int>] = [(key: 1, value:"Cinnamon"),
(key: 2, value:"Cloves"),
(key: 3, value:"Ginger"),
(key: 4, value:"Turmeric"),
(key: 5, value:"Tamarind")]
@IBAction func btnPopoverTapped(_ sender: UIButton) {
setupBasicPopover(for: sender)
}
func setupBasicPopover(for sender: UIView) {
// Init a popover with a callback closure after selecting data
let popover = LCPopover<Int>(for: sender, title: "Spices") { tuple in
// Use of the selected tuple
guard let value = tuple?.value else { return }
print(value)
}
// Assign data to the dataList
popover.dataList = spiceList
// Present the popover
present(popover, animated: true, completion: nil)
}
}
func setupCustomPopover(for sender: UIView) {
// Init a popover with a callback closure after selecting data
let popover = LCPopover<Int>(for: sender, title: "Spices") { tuple in
// Use of the selected tuple
guard let value = tuple?.value else { return }
print(value)
}
// Assign data to the dataList
popover.dataList = spiceList
// Set popover properties
popover.size = CGSize(width: 250, height: 219)
popover.arrowDirection = .down
popover.backgroundColor = .orange
popover.borderColor = .orange
popover.borderWidth = 2
popover.barHeight = 44
popover.titleFont = UIFont.boldSystemFont(ofSize: 19)
popover.titleColor = .orange
popover.textFont = UIFont(name: "HelveticaNeue-MediumItalic", size: 17) ?? UIFont.systemFont(ofSize: 17)
popover.textColor = .black
// Present the popover
present(popover, animated: true, completion: nil)
}
只需下载并将 Popover.swift
文件从 Source
目录添加到您的项目中。