mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
| // Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
 | |
| 
 | |
| import UIKit
 | |
| 
 | |
| public extension UIView {
 | |
|     func toImage(isOpaque: Bool, scale: CGFloat) -> UIImage? {
 | |
|         let format = UIGraphicsImageRendererFormat()
 | |
|         format.scale = scale
 | |
|         format.opaque = isOpaque
 | |
|         
 | |
|         let renderer = UIGraphicsImageRenderer(bounds: self.bounds, format: format)
 | |
|         
 | |
|         return renderer.image { context in
 | |
|             self.layer.render(in: context.cgContext)
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     class func spacer(withWidth width: CGFloat) -> UIView {
 | |
|         let view = UIView()
 | |
|         view.set(.width, to: width)
 | |
|         return view
 | |
|     }
 | |
| 
 | |
|     class func spacer(withHeight height: CGFloat) -> UIView {
 | |
|         let view = UIView()
 | |
|         view.set(.height, to: height)
 | |
|         return view
 | |
|     }
 | |
| 
 | |
|     class func hStretchingSpacer() -> UIView {
 | |
|         let view = UIView()
 | |
|         view.setContentHuggingPriority(.defaultLow, for: .horizontal)
 | |
|         view.setContentCompressionResistancePriority(UILayoutPriority(0), for: .horizontal)
 | |
|         
 | |
|         return view
 | |
|     }
 | |
| 
 | |
|     class func vStretchingSpacer() -> UIView {
 | |
|         let view = UIView()
 | |
|         view.setContentHuggingPriority(.defaultLow, for: .vertical)
 | |
|         view.setContentCompressionResistancePriority(UILayoutPriority(0), for: .vertical)
 | |
|         
 | |
|         return view
 | |
|     }
 | |
|     
 | |
|     static func hSpacer(_ width: CGFloat) -> UIView {
 | |
|         let result: UIView = UIView()
 | |
|         result.set(.width, to: width)
 | |
|         
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     static func vSpacer(_ height: CGFloat) -> UIView {
 | |
|         let result: UIView = UIView()
 | |
|         result.set(.height, to: height)
 | |
|         
 | |
|         return result
 | |
|     }
 | |
|     
 | |
|     static func vhSpacer(_ width: CGFloat, _ height: CGFloat) -> UIView {
 | |
|         let result: UIView = UIView()
 | |
|         result.set(.width, to: width)
 | |
|         result.set(.height, to: height)
 | |
|         
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     static func separator() -> UIView {
 | |
|         let result: UIView = UIView()
 | |
|         result.set(.height, to: Values.separatorThickness)
 | |
|         result.themeBackgroundColor = .borderSeparator
 | |
|         
 | |
|         return result
 | |
|     }
 | |
| }
 |