mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		
							
								
								
									
										321
									
								
								Tweaks/Alderis/Demo/Alderis Demo/FirstViewController.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								Tweaks/Alderis/Demo/Alderis Demo/FirstViewController.swift
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,321 @@ | ||||
| // | ||||
| //  FirstViewController.swift | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 15/4/20. | ||||
| //  Copyright © 2020 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| import UIKit | ||||
| import Alderis | ||||
|  | ||||
| class FirstViewController: UIViewController { | ||||
|  | ||||
| 	private var color = UIColor(hue: 0.939614, saturation: 0.811765, brightness: 0.333333, alpha: 1) | ||||
|  | ||||
| 	private var colorWell: ColorWell! | ||||
| 	private var uikitWell: UIView? | ||||
|  | ||||
| 	// swiftlint:disable:next function_body_length | ||||
| 	override func viewDidLoad() { | ||||
| 		super.viewDidLoad() | ||||
|  | ||||
| 		title = "Alderis Demo" | ||||
| 		if #available(iOS 13, *) { | ||||
| 			view.backgroundColor = .systemBackground | ||||
| 		} else { | ||||
| 			view.backgroundColor = .white | ||||
| 		} | ||||
|  | ||||
| 		#if targetEnvironment(macCatalyst) | ||||
| 		navigationController?.isNavigationBarHidden = true | ||||
| 		#endif | ||||
|  | ||||
| 		let stackView = UIStackView() | ||||
| 		stackView.translatesAutoresizingMaskIntoConstraints = false | ||||
| 		stackView.axis = .vertical | ||||
| 		stackView.alignment = .center | ||||
| 		stackView.spacing = 10 | ||||
| 		view.addSubview(stackView) | ||||
|  | ||||
| 		let mainButton = UIButton(type: .system) | ||||
| 		if #available(iOS 15, *) { | ||||
| 			var config = UIButton.Configuration.filled() | ||||
| 			config.buttonSize = .large | ||||
| 			mainButton.configuration = config | ||||
| 		} else { | ||||
| 			mainButton.titleLabel!.font = UIFont.systemFont(ofSize: 34, weight: .semibold) | ||||
| 		} | ||||
| 		mainButton.setTitle("Present", for: .normal) | ||||
| 		mainButton.addTarget(self, action: #selector(self.presentColorPicker), for: .touchUpInside) | ||||
| 		stackView.addArrangedSubview(mainButton) | ||||
|  | ||||
| 		// swiftlint:disable comma | ||||
| 		let buttons: [(title: String, action: Selector)] = [ | ||||
| 			("Present with customised title",       #selector(presentColorPickerCustomisedTitle)), | ||||
| 			("Present with customised initial tab", #selector(presentColorPickerCustomisedInitialTab)), | ||||
| 			("Present with customised tabs",        #selector(presentColorPickerCustomisedTabs)), | ||||
| 			("Present with tabs hidden",            #selector(presentColorPickerNoTabs)), | ||||
| 			("Present with customised title, tabs hidden", #selector(presentColorPickerCustomisedTitleNoTabs)), | ||||
| 			("Present without alpha",               #selector(presentColorPickerNoAlpha)), | ||||
| 			("Present without overriding Smart Invert", #selector(presentColorPickerNoOverrideSmartInvert)), | ||||
| 			("Present using deprecated API",        #selector(presentColorPickerDeprecatedAPI)), | ||||
| 			("Present UIKit Color Picker",          #selector(presentUIKitColorPicker)) | ||||
| 		] | ||||
| 		// swiftlint:enable comma | ||||
|  | ||||
| 		for item in buttons { | ||||
| 			let button = UIButton(type: .system) | ||||
| 			if #available(iOS 15, *) { | ||||
| 				var config = UIButton.Configuration.plain() | ||||
| 				config.buttonSize = .mini | ||||
| 				config.macIdiomStyle = .borderlessTinted | ||||
| 				button.configuration = config | ||||
| 			} | ||||
| 			button.setTitle(item.title, for: .normal) | ||||
| 			button.addTarget(self, action: item.action, for: .touchUpInside) | ||||
| 			stackView.addArrangedSubview(button) | ||||
| 		} | ||||
|  | ||||
| 		let spacerView = UIView() | ||||
| 		stackView.addArrangedSubview(spacerView) | ||||
|  | ||||
| 		let wellsLabel = UILabel() | ||||
| 		wellsLabel.font = UIFont.preferredFont(forTextStyle: .headline) | ||||
| 		wellsLabel.textAlignment = .center | ||||
| 		wellsLabel.text = "Color wells (try out drag and drop!)" | ||||
| 		stackView.addArrangedSubview(wellsLabel) | ||||
|  | ||||
| 		colorWell = ColorWell() | ||||
| 		colorWell.isDragInteractionEnabled = true | ||||
| 		colorWell.isDropInteractionEnabled = true | ||||
| 		colorWell.addTarget(self, action: #selector(self.colorWellValueChanged(_:)), for: .valueChanged) | ||||
| 		colorWell.addTarget(self, action: #selector(self.presentColorPicker), for: .touchUpInside) | ||||
|  | ||||
| 		let dragOrDropColorWell = ColorWell() | ||||
| 		dragOrDropColorWell.isDragInteractionEnabled = true | ||||
| 		dragOrDropColorWell.isDropInteractionEnabled = true | ||||
| 		dragOrDropColorWell.color = .systemPurple | ||||
|  | ||||
| 		let nonDraggableWell = ColorWell() | ||||
| 		nonDraggableWell.isDragInteractionEnabled = false | ||||
| 		nonDraggableWell.isDropInteractionEnabled = true | ||||
| 		nonDraggableWell.color = .systemOrange | ||||
|  | ||||
| 		let nonDroppableWell = ColorWell() | ||||
| 		nonDroppableWell.isDragInteractionEnabled = true | ||||
| 		nonDroppableWell.isDropInteractionEnabled = false | ||||
| 		nonDroppableWell.color = .systemTeal | ||||
|  | ||||
| 		let nonDragOrDropWell = ColorWell() | ||||
| 		nonDragOrDropWell.isDragInteractionEnabled = false | ||||
| 		nonDragOrDropWell.isDropInteractionEnabled = false | ||||
| 		nonDragOrDropWell.color = .systemGreen | ||||
|  | ||||
| 		let wellsStackView = UIStackView(arrangedSubviews: [colorWell, | ||||
| 																												dragOrDropColorWell, | ||||
| 																												nonDraggableWell, | ||||
| 																												nonDroppableWell, | ||||
| 																												nonDragOrDropWell]) | ||||
| 		wellsStackView.translatesAutoresizingMaskIntoConstraints = false | ||||
| 		wellsStackView.axis = .horizontal | ||||
| 		wellsStackView.alignment = .center | ||||
| 		wellsStackView.spacing = 10 | ||||
|  | ||||
| 		if #available(iOS 14, *) { | ||||
| 			let uikitWell = UIColorWell() | ||||
| 			uikitWell.addTarget(self, action: #selector(self.uikitColorWellValueChanged(_:)), for: .valueChanged) | ||||
| 			wellsStackView.addArrangedSubview(uikitWell) | ||||
| 			self.uikitWell = uikitWell | ||||
| 		} | ||||
|  | ||||
| 		stackView.addArrangedSubview(wellsStackView) | ||||
|  | ||||
| 		NSLayoutConstraint.activate([ | ||||
| 			stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 15), | ||||
| 			stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -15), | ||||
| 			stackView.centerYAnchor.constraint(equalTo: view.centerYAnchor), | ||||
|  | ||||
| 			spacerView.heightAnchor.constraint(equalToConstant: 0) | ||||
| 		]) | ||||
|  | ||||
| 		var isMac = false | ||||
| 		if #available(iOS 14, *) { | ||||
| 			isMac = UIDevice.current.userInterfaceIdiom == .mac | ||||
| 		} | ||||
|  | ||||
| 		NSLayoutConstraint.activate(wellsStackView.arrangedSubviews.flatMap { view in | ||||
| 			[ | ||||
| 				view.widthAnchor.constraint(equalToConstant: isMac ? 24 : 32), | ||||
| 				view.heightAnchor.constraint(equalTo: view.widthAnchor) | ||||
| 			] | ||||
| 		}) | ||||
| 	} | ||||
|  | ||||
| 	override func viewDidAppear(_ animated: Bool) { | ||||
| 		super.viewDidAppear(animated) | ||||
|  | ||||
| 		view.window!.tintColor = color | ||||
| 		colorWell.color = color | ||||
| 		if #available(iOS 14, *), | ||||
| 			 let uikitWell = uikitWell as? UIColorWell { | ||||
| 			uikitWell.selectedColor = color | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@objc func colorWellValueChanged(_ sender: ColorWell) { | ||||
| 		NSLog("Color well value changed with value %@", String(describing: sender.color)) | ||||
| 		view.window!.tintColor = sender.color | ||||
| 		if #available(iOS 14, *), | ||||
| 			 let uikitWell = uikitWell as? UIColorWell { | ||||
| 			uikitWell.selectedColor = sender.color | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@available(iOS 14, *) | ||||
| 	@objc func uikitColorWellValueChanged(_ sender: UIColorWell) { | ||||
| 		NSLog("UIKit color well value changed with value %@", String(describing: sender.selectedColor)) | ||||
| 		view.window!.tintColor = sender.selectedColor | ||||
| 		colorWell.color = sender.selectedColor | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPicker(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerCustomisedTitle(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.title = "Select an Awesome Color" | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerCustomisedInitialTab(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.initialTab = .map | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerCustomisedTabs(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.visibleTabs = [.map, .sliders] | ||||
| 		configuration.initialTab = .sliders | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerNoAlpha(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color.withAlphaComponent(0.5)) | ||||
| 		configuration.supportsAlpha = false | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerNoTabs(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.showTabs = false | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerCustomisedTitleNoTabs(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.title = "Select an Awesome Color" | ||||
| 		configuration.showTabs = false | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerNoOverrideSmartInvert(_ sender: UIView) { | ||||
| 		let configuration = ColorPickerConfiguration(color: color) | ||||
| 		configuration.overrideSmartInvert = false | ||||
|  | ||||
| 		let colorPickerViewController = ColorPickerViewController(configuration: configuration) | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentColorPickerDeprecatedAPI(_ sender: UIView) { | ||||
| 		let colorPickerViewController = ColorPickerViewController() | ||||
| 		colorPickerViewController.delegate = self | ||||
| 		colorPickerViewController.color = color | ||||
| 		colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 		tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 	} | ||||
|  | ||||
| 	@objc func presentUIKitColorPicker(_ sender: UIView) { | ||||
| 		if #available(iOS 14, *) { | ||||
| 			let colorPickerViewController = UIColorPickerViewController() | ||||
| 			colorPickerViewController.delegate = self | ||||
| 			colorPickerViewController.selectedColor = color | ||||
| 			colorPickerViewController.popoverPresentationController?.sourceView = sender | ||||
| 			tabBarController!.present(colorPickerViewController, animated: true) | ||||
| 		} else { | ||||
| 			fatalError("UIColorPickerViewController is only available as of iOS 14") | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| extension FirstViewController: ColorPickerDelegate { | ||||
|  | ||||
| 	func colorPicker(_ colorPicker: ColorPickerViewController, didSelect color: UIColor) { | ||||
| 		NSLog("User selected color %@ (%@)", color.propertyListValue, String(describing: color)) | ||||
| 		self.color = color | ||||
| 		view.window!.tintColor = color | ||||
| 		colorWell.color = color | ||||
| 	} | ||||
|  | ||||
| 	func colorPicker(_ colorPicker: ColorPickerViewController, didAccept color: UIColor) { | ||||
| 		NSLog("User accepted color %@ (%@)", color.propertyListValue, String(describing: color)) | ||||
| 	} | ||||
|  | ||||
| 	func colorPickerDidCancel(_ colorPicker: ColorPickerViewController) { | ||||
| 		NSLog("Color picker cancelled") | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| @available(iOS 14, *) | ||||
| extension FirstViewController: UIColorPickerViewControllerDelegate { | ||||
|  | ||||
| 	func colorPickerViewControllerDidSelectColor(_ viewController: UIColorPickerViewController) { | ||||
| 		NSLog("UIKit color picker value changed with color %@ (%@)", | ||||
| 					viewController.selectedColor.propertyListValue, | ||||
| 					String(describing: viewController.selectedColor)) | ||||
| 		color = viewController.selectedColor | ||||
| 		view.window!.tintColor = viewController.selectedColor | ||||
| 		if let uikitWell = uikitWell as? UIColorWell { | ||||
| 			uikitWell.selectedColor = viewController.selectedColor | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) { | ||||
| 		NSLog("UIKit color picker finished") | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn