PUROGU LADESU

ポエムがメインのブログです。

2021-01-01から1ヶ月間の記事一覧

【Swift】Firebase用のモデルをstructで作成

Firebase用のモデルをstructで作成 必須のフィールドには初期値を設定しないことで初期化の時点で入力漏れを防ぐ。 nullを許容する場合Optional型にする。その場合分岐が必要。 nullの場合はNSNull()を入れる。RDBみたいにNullを格納するというよりNull型に…

【Swift】presentingViewControllerで前の画面が取れない

ハマったこと とある画面でモーダルで開く let nextView = ViewController nextView.modalPresentationStyle = .fullScreen present(nextView, animated: true, completion: nil) 前の画面をpresentingViewControllerで取ろうとするがnilになる guard let pr…

【Swift】QRコードを読み取る

QRコードリーダー AVFoundationを使います。 画像や音声を取得できるライブラリです。今回はmetadataを使ってバーコード認識のみ行います。metadataObjectTypesで認識するバーコードを指定します。 バーコードを読み取ったらdidOutput metadataObjectsが呼ば…

【Swift】QRコードを作成する

QRコード CIFilterを使います。 画像を加工したり生成するライブラリのようです。 private func generateQrCode(text: String) -> UIImage? { guard let data = text.data(using: .utf8) else { return nil } // 文字列データと誤り訂正レベル(LMQH)を指定…

【Swift】画像をタップできるようにする

UITapGestureRecognizer UITapGestureRecognizerを追加します。 isUserInteractionEnabled = trueにしないとRecognizerが機能しないようです。 @IBOutlet var userImageView: UIImageView! let tapGesture = UITapGestureRecognizer(target: self, action: #…

【Swift】画像を選択してトリミングし圧縮する

画像の選択 標準のピッカーを使います。 allowsEditing = true で簡易的な編集画面が開き、正方形に切り出せます。 private func openAlbum() { let sourceType: UIImagePickerController.SourceType = .photoLibrary if UIImagePickerController.isSourceTy…

【Swift】画面遷移

画面の呼び出し 呼び出される画面 class NotificationDetaliViewController: UIViewController { var notification: UserNotification! var result: Bool // storyboardでidentirierを設定済み static func fromStoryboard() -> NotificationDetaliViewContr…

【Swift】DispatchQueueの中でAlertを出す

何か処理をして終了時にポップアップさせる DispatchQueue.global(qos: .userInitiated).async { // バックグラウンド処理を実行 doSomething() // メインスレッドで処理 DispatchQueue.main.async { let alert = UIAlertController(title: title, message: …