Skip to content

Instantly share code, notes, and snippets.

View faganello60's full-sized avatar
💻
iOS Developer

Bruno Faganello faganello60

💻
iOS Developer
View GitHub Profile
@faganello60
faganello60 / BaseViewController.swift
Last active August 28, 2017 15:17
Tutorial Base ViewController
class BaseViewController: UIViewController {
override func viewDidLoad() {
if let controller = self as? UIController {
self.title = controller.navigationTitle
}
}
}
protocol UIController {
var navigationTitle: String { get }
}
extension UIController {
var navigationTitle: String {
return "Titulo Padrão"
}
}
class ViewController: BaseViewController, UIController {
var navigationTitle: String {
return "ViewController"
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
class Personage {
func compliment() {
print("Hi there")
}
}
class Singer: Personage {}
let operaSinger = Singer()
operaSinger.compliment()
class Personage {
func compliment() {
print("Hi there")
}
}
class Singer: Personage {
func highFive() {
if isGood {
compliment()
protocol Friendly {
func highFive()
}
protocol Angrily {
func rude()
}
extension Friendly {
func highFive() {
import UIKit
// Inteiros: 1,2,3,4,5
// Doubles: 1.1,1.2,1.334
// String: "Hello"
// Const: let
// Variaveis: var
var a: Int = 1
var b: Int = 5
@IBOutlet weak private var contentView: UIView!
@IBOutlet weak private var contentViewBottomConstraint: NSLayoutConstraint!
@IBOutlet weak private var contentViewHeight: NSLayoutConstraint!
public init(childViewController: UIViewController) {
self.childViewController = childViewController
super.init(
nibName: String(describing: BottomSheetViewController.self),
bundle: Bundle(for: BottomSheetViewController.self)
)
modalPresentationStyle = .overFullScreen
modalTransitionStyle = .crossDissolve
}
public extension UIView {
func roundCorners(_ corners: UIRectCorner, radius: CGFloat) {
let roundedLayer = CAShapeLayer()
roundedLayer.path = UIBezierPath(
roundedRect: bounds,
byRoundingCorners: corners,
cornerRadii: CGSize(width: radius, height: radius)
).cgPath
layer.mask = roundedLayer
}