WWCameraZoomOptionView

Swift-5.6 iOS-14.0 TAG Swift Package Manager-SUCCESS LICENSE

Introduction - 简介

Installation with Swift Package Manager

dependencies: [
    .package(url: "https://github.com/William-Weng/WWCameraZoomOptionView.git", .upToNextMajor(from: "1.1.2"))
]

Function - 可用函数

函数 功能
configure(with:optionViewInformation:) 相关设置
selectItem(with:completion:) 选择选项
optionLabelText(_:withIndex:) 被选到的文字设定

WWCameraZoomOptionViewDelegate

函数 功能
itemCount(with:) 项目数量
labelText(with:index:) 项目文字
duration(with:index:) 动画时间
cameraZoomOptionView(_:didSelected:) 项目被选到哪一个
cameraZoomOptionView(_:canTapWith:) 项目点击能不能有反应
cameraZoomOptionView(_:scaleWith:) 项目缩放比例

Parameters - 参数

参数 功能
currentSelectedIndex 当前被选到的Index

Example

import UIKit
import WWCameraZoomOptionView

final class ViewController: UIViewController {
    
    @IBOutlet weak var zoomOptionView: WWCameraZoomOptionView!
    
    private let textArray = [".5", "1", "2", "5"]
    private let option: WWCameraZoomOptionView.OptionViewInformation = (UIFont.systemFont(ofSize: 20), .red, .yellow.withAlphaComponent(0.7))
        
    override func viewDidLoad() {
        super.viewDidLoad()
        zoomOptionView.configure(with: self, optionViewInformation: option)
    }
    
    @IBAction func selectItem(_ sender: UIBarButtonItem) {
        
        if let index = zoomOptionView.currentSelectedIndex {
            zoomOptionView.selectItem(with: index + 1)
        } else {
            zoomOptionView.selectItem(with: 0)
        }
    }
}

extension ViewController: WWCameraZoomOptionViewDelegate {
    
    func itemCount(with optionView: WWCameraZoomOptionView) -> Int {
        return textArray.count
    }
    
    func labelText(with optionView: WWCameraZoomOptionView, index: Int) -> String? {
        return textArray[index]
    }
    
    func duration(with optionView: WWCameraZoomOptionView, index: Int) -> TimeInterval {
        return 0.25
    }
    
    func cameraZoomOptionView(_ optionView: WWCameraZoomOptionView, didSelected index: Int) {
        print(index)
    }
    
    func cameraZoomOptionView(_ optionView: WWCameraZoomOptionView, canTapWith index: Int) -> Bool {
        return true
    }
    
    func cameraZoomOptionView(_ optionView: WWCameraZoomOptionView, scaleWith index: Int) -> CGFloat {
        return 1.2
    }
}