测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布时间最新发布 | 2017年12月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✗ |
由kunass2维护。
SelectableView
通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中
pod "SelectableView"
如果在您的Podfile中使用了use_framework
,只需这样做
import SelectableView
当需要使用它时,对每个文件都要执行。
您还可以使用
@import SelectableView;
在强类型bridging header
文件中,以避免为每个需要的文件导入框架。
只需将SingleSelectableView
、MultiSelectableView
或SearchSelectableView
作为您UIView
的子类添加到Interface Builder中。
@IBOutlets
@IBOutlet open var switchButton: UIButton?
@IBOutlet open var contentOptionsHeightConstraint: NSLayoutConstraint?
@IBOutlet open var contentOptionsView: UIView?
@IBOutlet open var selectedOptionLabel: UILabel? //only SingleSelectableView
@IBOutlet open var verticalTokenView: VerticalTokenView? //only MultiSelectableView
@IBOutlet open var horizontalTokenView: HorizontalTokenView? //only MultiSelectableView
@IBOutlet open var tokenViewHeightConstraint: NSLayoutConstraint? //only MultiSelectableView, useful within UIScrollView
@IBOutlet open var textField: UITextField! //only SearchSelectableView
viewDidLoad()
中分配委托singleSelectableView.delegate = self
multiSelectableView.delegate = self
searchSelectableView.delegate = self
UIViewController
遵守以下声明的SelectableViewDelegate
@objc public protocol SelectableViewDelegate {
@objc optional func multiSelectableView(_ view: MultiSelectableView, tokenViewFor option: SelectableOption) -> UIView
@objc optional func singleSelectableView(_ view: SingleSelectableView, didSelect option: SelectableOption)
@objc optional func multiSelectableView(_ view: MultiSelectableView, didSelect option: SelectableOption)
@objc optional func searchSelectableView(_ view: SearchSelectableView, didSelect option: SelectableOption)
@objc optional func selectableViewDidToggleOptions(with button: UIButton, expanded: Bool)
}
SelectableView
设置以下属性 var fontForOption = UIFont.systemFont(ofSize: 16)
var fontForPlaceholderText = UIFont.systemFont(ofSize: 14)
@IBInspectable open var leftPaddingForPlaceholderText = 0
@IBInspectable open var leftPaddingForOption = 20
@IBInspectable open var heightForOption = 40
@IBInspectable open var titleColorForSelectedOption = UIColor.green
@IBInspectable open var titleColorForOption = UIColor.black
@IBInspectable open var textColorForPlaceholderText = UIColor.gray
@IBInspectable open var tintColorForSelectedOption = UIColor.blue
@IBInspectable open var identifier = ""
@IBInspectable open var tableViewAccessibilityIdentifier = ""
@IBInspectable open var maxNumberOfRows = 6
@IBInspectable open var placeholder = ""
open func hideOptions() //collapse selectable options
open func select(option: SelectableOption) //only MultiSelectableView
open func deselect(option: SelectableOption) //only MultiSelectableView
open var options: [SelectableOption]? //current list of options able to select it
open var selectedOption: SelectableOption? //SingleSelectableView, SearchSelectableView
open var selectedOptions = [SelectableOption]() //MultiSelectableView
SelectableOption
定义如下open class SelectableOption: NSObject {
open var index: Int
open var identifier: String
open var title: String
open var userInfo: [AnyHashable: Any]?
open var descendantOptions = [SelectableOption]()
public init(index: Int, title: String, identifier: String, userInfo: [AnyHashable: Any]? = nil) {
self.index = index
self.identifier = identifier
self.title = title
self.userInfo = userInfo
}
}
Bartłomiej Semańczyk,[email protected]
SelectableView
可在 MIT 许可证下使用。更多详细信息请查看 LICENSE 文件。