This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ImageRippleTransitionViewController: UIViewController, UIViewControllerTransitioningDelegate { | |
public let backgroundImageView: UIImageView = { | |
let imageView = UIImageView() | |
imageView.contentMode = .scaleAspectFill | |
imageView.isUserInteractionEnabled = true | |
imageView.clipsToBounds = true | |
imageView.translatesAutoresizingMaskIntoConstraints = false | |
return imageView | |
}() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CarouselFlowLayout: UICollectionViewFlowLayout { | |
let scaleFactor: CGFloat = 0.7 // Minimum scale for side cells | |
override func prepare() { | |
super.prepare() | |
guard let collectionView else { return } | |
scrollDirection = .horizontal | |
// Define cell size | |
itemSize = collectionView.bounds.inset(by: UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)).size |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class StackedItemsViewController: UIViewController { | |
private let backgroundImageView: UIImageView = { | |
let image = UIImage(resource: .background) | |
let imageView = UIImageView(image: image) | |
imageView.contentMode = .scaleAspectFill | |
imageView.isUserInteractionEnabled = true | |
imageView.clipsToBounds = true | |
imageView.translatesAutoresizingMaskIntoConstraints = false | |
return imageView |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class AnimationsTestViewController: UIViewController { | |
enum AnimationPosiXDirection { | |
case left, center, right | |
} | |
enum AnimationFlipDirection { | |
case yAxis, center, xAxis | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// PhotoCell.swift | |
// TestApp | |
// | |
// Created by Coder ACJHP on 20.10.2023. | |
// | |
import UIKit | |
class PhotoCell: UICollectionViewCell { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fileprivate var circleIcon: UIImageView! | |
fileprivate var circlePathaAnimation: CAKeyframeAnimation! | |
// Drawing func that takes x position as an argument | |
// Call this funtion inside 'drawRect' or 'onTouchMoves' | |
fileprivate func drawHighlightCircleFromLeftPosition(_ posiX: CGFloat) { | |
// If imageView and animation already created and existing change percentage | |
if let circleIcon = self.circleIcon, | |
let animation = circlePathaAnimation { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Save into keychain | |
let nameData = Data(weparents_auth.utf8) | |
let passwordData = Data(weparents_PI.utf8) | |
KeychainHelper.shared.save(nameData, service: .userName, account: .account) | |
KeychainHelper.shared.save(passwordData, service: .password, account: .account) | |
// Read from keychain | |
if let nameData = KeychainHelper.shared.read(service: .userName, account: .account), | |
let passwordData = KeychainHelper.shared.read(service: .password, account: .account), | |
let nameString = String(data: nameData, encoding: .utf8), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// SplitMirror filter.swift | |
// Image Editor | |
// | |
// Created by Coder ACJHP on 25.02.2022. | |
// | |
// SnapChat & Tiktok & Motion App like image filter | |
// Inspired from 'https://support.apple.com/tr-tr/guide/motion/motn169f94ea/mac' | |
// Splits an image in half vertically and reverses the left remaining half to create a reflection. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@IBAction func onApply(_ sender: Any) { | |
if selectedAssetInfo.isEmpty { | |
return | |
} | |
var tempVideoURLs: Array<URL> = [] | |
waiting.startAnimating() | |
waiting.isHidden = false | |
NewerOlder