mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:13 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		
							
								
								
									
										10
									
								
								Tweaks/Alderis/Demo/Alderis Demo/AlderisDemo.entitlements
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Tweaks/Alderis/Demo/Alderis Demo/AlderisDemo.entitlements
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>com.apple.security.app-sandbox</key> | ||||
| 	<true/> | ||||
| 	<key>com.apple.security.network.client</key> | ||||
| 	<true/> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										35
									
								
								Tweaks/Alderis/Demo/Alderis Demo/AppDelegate.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								Tweaks/Alderis/Demo/Alderis Demo/AppDelegate.swift
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| // | ||||
| //  AppDelegate.swift | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 12/3/20. | ||||
| //  Copyright © 2020 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| import UIKit | ||||
|  | ||||
| @UIApplicationMain | ||||
| class AppDelegate: UIResponder, UIApplicationDelegate { | ||||
|  | ||||
| 	var window: UIWindow? | ||||
|  | ||||
| 	// swiftlint:disable:next line_length | ||||
| 	func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { | ||||
| 		window = UIWindow(frame: UIScreen.main.bounds) | ||||
| 		window!.tintColor = UIColor(hue: 0.939614, saturation: 0.811765, brightness: 0.333333, alpha: 1) | ||||
|  | ||||
| 		let tabBarController = UITabBarController() | ||||
| 		let viewController = UINavigationController(rootViewController: FirstViewController()) | ||||
| 		if #available(iOS 13, *) { | ||||
| 			let tabIcon = UIImage(systemName: "paintbrush.fill")?.withBaselineOffset(fromBottom: 2) | ||||
| 			viewController.tabBarItem = UITabBarItem(title: "Alderis Demo", image: tabIcon, tag: 0) | ||||
| 		} | ||||
| 		tabBarController.viewControllers = [viewController] | ||||
|  | ||||
| 		window!.rootViewController = tabBarController | ||||
| 		window!.makeKeyAndVisible() | ||||
|  | ||||
| 		return true | ||||
| 	} | ||||
|  | ||||
| } | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 4.7 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.9 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.6 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 7.1 KiB | 
| @@ -0,0 +1,102 @@ | ||||
| { | ||||
|   "images" : [ | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "AppIcon120x120.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "AppIcon180x180.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "AppIcon152x152.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "AppIcon167x167.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "83.5x83.5" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ios-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     } | ||||
|   ], | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,6 @@ | ||||
| { | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,25 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||||
|     <dependencies> | ||||
|         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> | ||||
|         <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||||
|         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||||
|     </dependencies> | ||||
|     <scenes> | ||||
|         <!--View Controller--> | ||||
|         <scene sceneID="EHf-IW-A2E"> | ||||
|             <objects> | ||||
|                 <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | ||||
|                     <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | ||||
|                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||||
|                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||||
|                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | ||||
|                         <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> | ||||
|                     </view> | ||||
|                 </viewController> | ||||
|                 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||||
|             </objects> | ||||
|             <point key="canvasLocation" x="53" y="375"/> | ||||
|         </scene> | ||||
|     </scenes> | ||||
| </document> | ||||
							
								
								
									
										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") | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| // | ||||
| //  HBColorPickerSectionHeaderView.h | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 31/3/19. | ||||
| //  Copyright © 2019 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| NS_ASSUME_NONNULL_BEGIN | ||||
|  | ||||
| @interface HBColorPickerSectionHeaderView : UICollectionReusableView | ||||
|  | ||||
| @property (nonatomic, strong) UILabel *titleLabel; | ||||
|  | ||||
| @end | ||||
|  | ||||
| NS_ASSUME_NONNULL_END | ||||
| @@ -0,0 +1,43 @@ | ||||
| // | ||||
| //  HBColorPickerSectionHeaderView.m | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 31/3/19. | ||||
| //  Copyright © 2019 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "HBColorPickerSectionHeaderView.h" | ||||
| #import "CompactConstraint.h" | ||||
|  | ||||
| @implementation HBColorPickerSectionHeaderView | ||||
|  | ||||
| - (instancetype)initWithFrame:(CGRect)frame { | ||||
| 	self = [super initWithFrame:frame]; | ||||
|  | ||||
| 	if (self) { | ||||
| 		_titleLabel = [[UILabel alloc] init]; | ||||
| 		_titleLabel.translatesAutoresizingMaskIntoConstraints = NO; | ||||
| 		_titleLabel.font = [UIFont boldSystemFontOfSize:18.f]; | ||||
| 		[self addSubview:_titleLabel]; | ||||
|  | ||||
| 		[self hb_addCompactConstraints:@[ | ||||
| 																		 @"titleLabel.left = self.left + horizontalMargin", | ||||
| 																		 @"titleLabel.right = self.right - horizontalMargin", | ||||
| 																		 @"titleLabel.top = self.top + topMargin", | ||||
| 																		 @"titleLabel.bottom = self.bottom - bottomMargin" | ||||
| 																		 ] | ||||
| 													 metrics:@{ | ||||
| 																		 @"horizontalMargin": @15.f, | ||||
| 																		 @"topMargin": @10.f, | ||||
| 																		 @"bottomMargin": @0.f | ||||
| 																		 } | ||||
| 														 views:@{ | ||||
| 																		 @"self": self, | ||||
| 																		 @"titleLabel": _titleLabel | ||||
| 																		 }]; | ||||
| 	} | ||||
| 	 | ||||
| 	return self; | ||||
| } | ||||
|  | ||||
| @end | ||||
							
								
								
									
										17
									
								
								Tweaks/Alderis/Demo/Alderis Demo/HBColorPickerSwatchCell.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								Tweaks/Alderis/Demo/Alderis Demo/HBColorPickerSwatchCell.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| // | ||||
| //  HBColorPickerSwatchCell.h | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 4/3/19. | ||||
| //  Copyright © 2019 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| NS_ASSUME_NONNULL_BEGIN | ||||
|  | ||||
| @interface HBColorPickerSwatchCell : UICollectionViewCell | ||||
|  | ||||
| @end | ||||
|  | ||||
| NS_ASSUME_NONNULL_END | ||||
							
								
								
									
										32
									
								
								Tweaks/Alderis/Demo/Alderis Demo/HBColorPickerSwatchCell.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Tweaks/Alderis/Demo/Alderis Demo/HBColorPickerSwatchCell.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| // | ||||
| //  HBColorPickerSwatchCell.m | ||||
| //  Alderis Demo | ||||
| // | ||||
| //  Created by Adam Demasi on 4/3/19. | ||||
| //  Copyright © 2019 HASHBANG Productions. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "HBColorPickerSwatchCell.h" | ||||
|  | ||||
| @implementation HBColorPickerSwatchCell | ||||
|  | ||||
| - (instancetype)initWithFrame:(CGRect)frame { | ||||
| 	self = [super initWithFrame:frame]; | ||||
| 	 | ||||
| 	if (self) { | ||||
| 		self.clipsToBounds = YES; | ||||
| //		self.layer.cornerRadius = 22.f; | ||||
| //		self.layer.borderColor = [UIColor grayColor].CGColor; | ||||
| 	} | ||||
| 	 | ||||
| 	return self; | ||||
| } | ||||
|  | ||||
| - (void)didMoveToWindow { | ||||
| 	[super didMoveToWindow]; | ||||
|  | ||||
| //	CGFloat scale = self.window.screen.scale ?: 1.f; | ||||
| //	self.layer.borderWidth = scale > 2.f ? 2.f / scale : 1.f / scale; | ||||
| } | ||||
|  | ||||
| @end | ||||
							
								
								
									
										45
									
								
								Tweaks/Alderis/Demo/Alderis Demo/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Tweaks/Alderis/Demo/Alderis Demo/Info.plist
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>$(DEVELOPMENT_LANGUAGE)</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>$(EXECUTABLE_NAME)</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| 	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||||
| 	<key>CFBundleInfoDictionaryVersion</key> | ||||
| 	<string>6.0</string> | ||||
| 	<key>CFBundleName</key> | ||||
| 	<string>Alderis Demo</string> | ||||
| 	<key>CFBundleDisplayName</key> | ||||
| 	<string>Alderis Demo</string> | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>1.0</string> | ||||
| 	<key>CFBundleVersion</key> | ||||
| 	<string>1</string> | ||||
| 	<key>LSRequiresIPhoneOS</key> | ||||
| 	<true/> | ||||
| 	<key>UILaunchStoryboardName</key> | ||||
| 	<string>Launch Screen</string> | ||||
| 	<key>UIRequiredDeviceCapabilities</key> | ||||
| 	<array> | ||||
| 		<string>armv7</string> | ||||
| 	</array> | ||||
| 	<key>UISupportedInterfaceOrientations</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeLeft</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeRight</string> | ||||
| 	</array> | ||||
| 	<key>UISupportedInterfaceOrientations~ipad</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
| 		<string>UIInterfaceOrientationPortraitUpsideDown</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeLeft</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeRight</string> | ||||
| 	</array> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										27
									
								
								Tweaks/Alderis/Demo/Alderis Demo/Launch Screen.storyboard
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Tweaks/Alderis/Demo/Alderis Demo/Launch Screen.storyboard
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||||
|     <device id="retina6_1" orientation="portrait" appearance="light"/> | ||||
|     <dependencies> | ||||
|         <deployment identifier="iOS"/> | ||||
|         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/> | ||||
|         <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||||
|         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||||
|     </dependencies> | ||||
|     <scenes> | ||||
|         <!--View Controller--> | ||||
|         <scene sceneID="EHf-IW-A2E"> | ||||
|             <objects> | ||||
|                 <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | ||||
|                     <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | ||||
|                         <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | ||||
|                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||||
|                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | ||||
|                         <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/> | ||||
|                     </view> | ||||
|                 </viewController> | ||||
|                 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||||
|             </objects> | ||||
|             <point key="canvasLocation" x="53" y="375"/> | ||||
|         </scene> | ||||
|     </scenes> | ||||
| </document> | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn