Latest 1.1.5
Homepage https://github.com/linhcn/LCUIComponents
License MIT
Platforms ios 9.0
Authors

Overview

LCUIComponents is an on-going project, which supports creating transient views appearing above other content onscreen when a control is selected. Currently, the framework provides supports to simply create a customisable popover with a selectable data list.

Requirements

  • iOS 8.0+
  • Xcode 8+
  • Swift 3

Usage

The following is an example of how to create a popover. For more advanced use please check out the Sample path.

Set up a basic popover with data list

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)
    }
}

Set up a custom popover with data list

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)
}

Installation

CocoaPods

Specify LCUIComponents into your project’s Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

pod 'LCUIComponents'

Manually Embedded

Simply download and add the Popover.swift file from Source path to your project.

Latest podspec

{
    "name": "LCUIComponents",
    "version": "1.1.5",
    "summary": "Transient windows showing on top of other content onscreen.",
    "description": "The framework supports UI components such as popover showing on top of the current content view.",
    "homepage": "https://github.com/linhcn/LCUIComponents",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Linh Chu": "[email protected]"
    },
    "source": {
        "git": "https://github.com/linhcn/LCUIComponents.git",
        "tag": "1.1.5"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source_files": "LCUIComponents/Source/*.swift",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This