Skip to content

Instantly share code, notes, and snippets.

@furydeveloper
furydeveloper / LoginViewController.swift
Created November 5, 2019 13:46
LoginViewController.swift
@objc
func handleAuthorizationAppleIDButtonPress() {
let appleIDProvider = ASAuthorizationAppleIDProvider()
let request = appleIDProvider.createRequest()
request.requestedScopes = [.fullName, .email]
let authorizationController = ASAuthorizationController(authorizationRequests: [request])
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
@furydeveloper
furydeveloper / LoginViewController.swift
Last active November 5, 2019 13:42
LoginViewController.swift
import UIKit
import AuthenticationServices
class LoginViewController: UIViewController {
@IBOutlet weak var loginProviderStackView: UIStackView!
override func viewDidLoad() {
super.viewDidLoad()
@furydeveloper
furydeveloper / ExtensionTextField.swift
Created October 16, 2019 02:41
ExtensionTextField.swift
extension UITextField {
func addLeftPadding() {
let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: self.frame.height))
self.leftView = paddingView
self.leftViewMode = ViewMode.always
}
}
@furydeveloper
furydeveloper / info.plist
Created October 13, 2019 15:56
info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
@furydeveloper
furydeveloper / SearchViewController.swift
Created October 13, 2019 15:52
SearchViewController.swift
class SearchViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
@furydeveloper
furydeveloper / SceneDelegate.swift
Created October 8, 2019 15:40
SceneDelegate.swift
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
window?.rootViewController = ViewController()
@furydeveloper
furydeveloper / ViewController.swift
Created October 7, 2019 00:31
ViewController.swift
extension HomeTableViewCell: UICollectionViewDelegate {
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
let page = Int(targetContentOffset.pointee.x / self.frame.width)
self.pageControl.currentPage = page
}
}
@furydeveloper
furydeveloper / MainViewController.swift
Created October 7, 2019 00:19
MainViewController.swift
private let pageControl = UIPageControl()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
pageControl.hidesForSinglePage = true
pageControl.numberOfPages = 5
pageControl.pageIndicatorTintColor = .darkGray
// AutoLayout은 SnapKit으로 잡아주고 있습니다.
@furydeveloper
furydeveloper / ViewController.swift
Last active October 22, 2020 00:34
ViewController.swift
contentsLabel.text = "안녕하세요. 저는 iOS 개발자 Fury 입니다. 좋은 개발자가 되기 위해서 열심히 노력하고 있어요!!!! 앞으로 좋은 인연이 되었으면 좋겠습니다. 감사합니다."
contentsLabel.numberOfLines = 0
let attrString = NSMutableAttributedString(string: contentsLabel.text!)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 4
attrString.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraphStyle, range: NSMakeRange(0, attrString.length))
contentsLabel.attributedText = attrString
@furydeveloper
furydeveloper / ExtensionUILabel.swift
Created September 23, 2019 08:40
ExtensionUILabel.swift
extension UILabel {
func dynamicFont(fontSize size: CGFloat, weight: UIFont.Weight) {
let currentFontName = self.font.fontName
var calculatedFont: UIFont?
let bounds = UIScreen.main.bounds
let height = bounds.size.height
switch height {
case 480.0: //Iphone 3,4S => 3.5 inch
calculatedFont = UIFont(name: currentFontName, size: size * 0.7)