Project/FirebaseTest (12) 썸네일형 리스트형 FireBase - Alert import UIKitclass AlertManager { private static func showBasicAlert(on vc: UIViewController, with title: String, and message: String?) { DispatchQueue.main.async { let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil)) vc.present(al.. FireBase - UITextView with open WKWebView import UIKitclass RegisterController: UIViewController { ... private let termsTextView: UITextView = { let textView = UITextView() let attributedString = NSMutableAttributedString(string: "By creating an account, you agree to our Terms & Conditions and you acknowledge that you have read our Privacy Policy.") attributedString.addAttribute(.link, value: ".. FireBase - Webkit import UIKitimport WebKitclass WebViewerController: UIViewController { // MARK: - Variables private let urlString: String // MARK: - UI Components private let webView = WKWebView() // MARK: - Initializations init(with urlString: String) { self.urlString = urlString super.init(nibName: nil, bundle: nil) } required init?(coder: NSCoder) { .. FireBase - 커스텀 버튼, 뷰, 텍스트 필드에 대해 코드를 구현하다 보면, 동일하게 반복되는 코드가 있습니다. 오늘은 이런 코드를 어떤 식으로 구현하면 좋을지에 대해 배웠습니다. 이전까지는 버튼을 예로 들면, 버튼의 외형은 동일하나, 그 안에 들어가는 텍스트의 크기나 굵기가 다를 경우가 있었어도, 이에 대해 대체할 방법에 잘 알지 못했습니다. 오늘은 몇 가지에 대해 알아보려고 합니다. AuthHeaderViewimport UIKitclass AuthHeaderView: UIView { // MARK: - UI Components private let imageView: UIImageView = { let imageView = UIImageView() imageView.contentMode = .scaleAs.. 이전 1 2 다음