【Swift】Invalid document reference. Document...について

Firebaseを利用中に下記のエラーに遭遇。↓'Invalid document reference. Document references must have an even number of segments, but User has 1' 直訳すると、"ドキュメントを参照できません。参照には偶数のセグメントが必要、しかしユーザーは既に1…

【Swift】staticで1つのインスタンスを共有

解説 ストーリーボード ソースコード 出力結果 解説 全ファイルで変数や値を共有したくありませんか? クラスのインスタンスって基本的に生成したファイル内でしか使えません。 関数やメソッドなら、渡したい引数さえ用意すれば、後は処理や返り値を返してく…

【Swift】Firebase - メアド&パスワードで会員登録/ログイン

完成図 会員登録 ログイン パスワードリセット 解説 会員登録 ログイン ログアウト パスワードリセット ストーリーボード ソースコード 会員登録画面 ログイン画面/ログアウト ログアウト 完成図 会員登録 ログイン パスワードリセット 解説 会員登録 Auth.a…

【Swift】スクロール画面に大量のUIButtonを等間隔で配置

完成図 解説 ストーリーボード ソースコード 完成図 解説 「手順」 ScrollViewを設置 UIViewを生成 UIButtonを生成 UIButton.frameを設定 UIButton.tagを設定 UIButtonに文字や処理を設定 UIViewに設置 3~7をループ ScrollViewにUIViewを設置 ScrollView.con…

【Swift】Firebaseから取得するデータを調べてみた

保存してあるデータ 解説 デバック結果 ソースコード 保存してあるデータ 解説 Firebaseからデータを取得する時、 どのような型(クラス)で取得されるのか? どんなメソッドがあるのか? という疑問が湧かないだろうか? udemyで初めてFirebaseを知り、自分…

【Swift】Firebaseに画像を保存/画像を読み込む

完成図 解説 ソースコード 完成図 「操作画面」 「保存されているデータ」 解説 Firebaseから画像を取得するには、2つの方法がある。↓ Storageの参照で取得 FiirebaseUIで取得 (参考ページ) firebase.google.com 前者は一般的な方法だがクロージャやエラ…

【Swift】アルバムとカメラを起動する

完成図 解説 ソースコード 完成図 (アルバム画面はEvernoteのものです。) 解説 過去に同じ記事を書いたが、 ソースコードがわかりづらい ただソースコードが書いてあるだけ というテキトーな記事だったのに、新たに書き直した。 ※注意 下記のソースコード…

【Swift】遷移時(modalのsegue)のアニメーションをコードで実装

解説 ストーリーボード ソースコード 解説 segueのアニメーションは以下。 coverVertical:下から出現 crossDisolve:フェードイン flipHorizontal:180度回転する(裏返る) partialCurl:ペラっとめくれる 遷移先をインスタンスで取得し、modalTransitionSty…

【Swift】UserDefaultでMainStoryBoardを分岐

解説 ストーリーボード ソースコード 解説 UserDefaultsのbool値でStoryBoardを分岐。 AppDelegate.swiftのdidFinishLaunchingWithOptions内に記述。 今回だと、 true : Main.storyboard false : test.storyboard のそれぞれに分岐。 FirebaseやNiftyCloudで…

【Swift】NiftyCloud - 新規登録/ログイン

完成図 解説 ストーリーボード ソースコード 完成図 (ユーザー名:パスワード=user : password) 解説 新規登録:NCMBUser.signUpInBackground ログイン:NCMBUser.logInWithUsername(inBackground: ユーザー名, password: パスワード) NCMBUesr.current()…

【Swift】ImageViewにタップアクションを追加

完成図 解説 ソースコード 完成図 解説 ImageViewにButtonのようなタップアクションを追加するには、 ImageViewのisUserIntaractionEnabledをtrueにする(StoryBoardからも変更可) ImageViewにUI部品のTapGestureRecognizerを追加 TapGestureRecognizerを@I…

【Swift】文字列をURLに変換し、たった1行で開く方法

完成図 解説 ソースコード 完成図 解説 WebViewを経由することなくsafari経由でURLを開ける。 WebViewの場合は、 //URLを受け取る変数 let url = URL(string: url_word) let urlrequest = URLRequest(url: url!) webview.loadRequest(urlrequest) と記述で実…

【Swift】NavigationBarに検索バーを設置

完成図 解説 ソースコード 完成図 解説 検索バーを設置するには、ViewがNavagationControllerを継承している必要がある。 予め、Embed In で継承しておこう。 また、検索バーをSNSやクラウド共有アプリで使用する際、searchBar専用のメソッド(searchBarSear…

【Swift】カスタムフォントを設定 - StoryBoard編

完成図 解説 ストーリーボード 完成図 今回使用したカスタムフォントは、GoogleFontから入手 ↓ fonts.google.com 解説 カスタムフォントの実装方法は、 カスタムフォント(.ttf , .otf)を用意 左のフォルダに追加 プロジェクトファイル → TARGETS → BuildPh…

【Swift】TextViewのキーボードに"閉じる(Done)"ボタンを追加

完成図 解説 ソースコード 完成図 解説 UITextFieldはDelegateメソッドでキーボードを閉じられる。 だが、UITextViewには明確な方法がない。 touchesBegan内でresignFirstResponderを実行しても閉じられない始末。 そこで、キーボード内にキーボードを閉じる…

【Swift】MFMailComposeVCでメールを送信する

完成図 解説 ソースコード 完成図 解説 新規メールを起動し、指定したメアドにメールを送れる。 ・設定できる項目は 宛先 Cc Bc 件名 本文 の5つ。 参考になった動画がこちら。 ↓ 注意点が1つ。 スマホの環境設定からメールのアカウントを追加しないと起動…

【Swift】カスタムセルの作り方

どうも、猫吉(@nekokichi1_yos2)です。 完成図 ストーリーボード ソースコード 完成図 ストーリーボード 「カスタムセル」 「TableView」 ソースコード import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @…

【Swift】Cellの高さを変更する

どうも、猫吉(@nekokichi1_yos2)です。 Cellを高さを変えるには、 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { tableView.estimatedRowHeight = 20 //セルの高さ return UITableView.automaticDimension /…

【Swift】TextViewに枠線をつける

どうも、猫吉(@nekokichi1_yos2)です。 TextViewに枠線を付ける方法を伝授します。 完成形 ストーリーボード ソースコード 完成形 ストーリーボード ソースコード import UIKit class ViewController: UIViewController { @IBOutlet weak var textView: UITe…

【Swift】NavigationControllerの画面遷移まとめ

どうも、猫吉(@nekokichi1_yos2)です。 NavigationControllerは初期状態のViewControllerとは違い、特殊な遷移を使用できます。 その遷移とは、 popViewController popToViewController popToRootViewController の3つです。 上記の使用方法について紹介し…

【Xcode】アプリのアイコンとアプリ名を変更する

アプリ名を変更 アプリアイコンを変更 アプリ名を変更 TARGETS > General > DisplayName、を変更するだけ。 ↓ 1番右のアプリ名が変更されている。 ↓ アプリアイコンを変更

【Swift】alertControllerに3つ以上のalertActionを実装してみた

解説 実験結果 ソースコード 解説 Alertは画面上に表示される警告表示。↓ 一般的なアプリでは、AlertActionの数は 2個 3個 がほとんど。 しかし、もしAlertActionの数を2,3,4…と増やしていったらどうなるのか? 実験結果 ※4個 ※12個 ※15個 13,4個以降は、ス…

【Xcode】シミュレータの黒い枠を消す

解説 解説 Xcodeでシミュレータを起動すると、下記の邪魔な枠が表示される。↓ 無駄にスペースを取るので、Macbookやノートパソコンの画面が圧迫してしまう。 できれば、下記のようにコンパクトな画面にしたい。↓ 方法は、Simulator > Window > Show Device B…

【Swift】セルの選択状態(タップ時の色)を解除する

解説 ソースコード 解説 TableViewのCellをタップすると、そのCell全体が灰色に染まってしまう。↓ しかも、他のCellをタップしない限り、元の白色に戻ることはない。 タップ時の変化自体を削除することも可能だが、タップしても何も変化が起こらないと、ユー…

【Swift】TableViewのdetailTextLabelとaccessoryType

完成図 ソースコード 完成図 ソースコード import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() tableView.…

【Swift】TableViewのHeaderSectionとFooterSection

完成図 ソースコード 完成図 ソースコード import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @IBOutlet weak var tableView: UITableView! //セルに表示するテキスト var text = ["fafeaw","faefa","gwafa…

【Swift】UITextViewが持つ2つのプロパティ

Editable :編集可能/不可能 Selectable:選択可能/不可能 Editable:Selectable = true:true ↓ Editable:Selectable = false:false ↓ Editable:Selectable = false:true ↓

【Swift】UISwitchをオーバーライドでカスタマイズ

class mySwitch:UISwitch { required init?(coder aDecoder: NSCoder) { fatalError() } override init(frame: CGRect) { super.init(frame:frame) self.onTintColor = UIColor.red self.thumbTintColor = UIColor.cyan } } let myswitch = mySwitch() myswi…

【Swift】配列、辞書の基礎文法

配列の指定位置に要素を挿入する //配列の指定位置に要素を挿入 var array = [0,1,2] array.insert(9, at: 0) //[9,0,1,2] array.insert(8, at: 4) //[9,0,1,2,8] 配列をソートする //配列のをソート //昇順 array = array.sorted() print(array) //[0, 1, 2…

【Swift】Firebaseからデータを順番に取り出す

解説 ソースコード 解説 ・過去の記事で、Firebaseからデータを取得する方法を紹介した nekokichi2yos2.hatenablog.com ・しかし、上記の方法では、取り出すデータの順番がバラバラになってしまう ・そこで、今回は順番に取り出す方法を紹介する ・データを…