どうも、ねこきち(@nekokichi1_yos2)です。 Xcodeに内蔵されてるUI部品、ライブラリで生成するUI部品、構成や扱いが異なっても、UIViewに設置する工程は変わりません。 生成から設置までの流れは、 生成(let 変数 = UI部品) 位置(変数.frame = CGRect(.…
どうも、ねこきち(@nekokichi1_yos2)です。 StoryBoardIDで遷移する時、下記のコードだとnilが返されて、エラーになります。 let vc = self.storyboard!.instantiateViewController(withIdentifier: "遷移先のStoryBoardID") as! 遷移先 self.present(vc, …
どうも、ねこきち(@nekokichi1_yos2)です。 スワイプ 動作の実装は、UISwipeGestureRecognizer、を使用。 疑問 結論 ソースコード 疑問 スワイプ動作を実装するUIGestureには、UIScreenEdgePanGestureRecognizer、がある。 だけど、ViewControllerに設置し…
どうも、ねこきち(@nekokichi1_yos2)です。 Int型の多次元配列をソートする方法が載ってなかったので、備忘録として記載。 バブルソート、というアルゴリズムを使うと、簡単に実装できました。 今回のバブルソートを実装する際、下記を参考にさせていただ…
どうも、ねこきち(@nekokichi1_yos2)です。 今回は、5を一定間隔とする、5刻みのスライダーを作ります。 (5、10、15、20、25、30....) また、UISliderの幅を、0〜1000、とします。 解説 ソースコード 結果 解説 結論から言うと、 if UISlide…
どうも、ねこきち(@nekokichi1_yos2)です。 現在日時を取得する方法ですが、ネットの記事のほとんどが 2020-03-12 15:11:02 の形で算出する方法しかなかったので、備忘録として記載。 ソースコード let current = Calendar.current print(current.componen…
どうも、ねこきち(@nekokichi1_yos2)です。 データベースにデータを保存する場合、 「どうやってユーザーとデータを紐付けるか」 の問題が発生します。 当然、ユーザー別に固有のID(データの羅列)が必要ですので、 乱数 が思いつきます。 しかし、乱数は…
こんにちは、@nekokichi1_yos2です。 ScrollViewでページ送りのアニメーションを実装する場合、下記のコードを打つか、 scrollView.isPagingEnabled = true インスペクタの"Paging Enabled"にチェックを入れます。 初期設定のScrollView ↓ PagingEnabledが可…
こんにちは、@nekokichi1_yos2です。 (ページングの実装) ↓ nekokichi2yos2.hatenablog.com ScrollViewで今現在、何ページ目かを知りたい時、contentOffset、を使えばわかります。 contentOffsetとは、初期位置(0,0)からどれだけ移動したかを示すもの。 (…
こんにちは、@nekokichi1_yos2です。 MoneyMonthで年と月だけのPickerViewを作る際、Data型で作る方法が見当たらず、仕方なくInt型で作りました。 nekokichi2yos2.hatenablog.com Data型だと、どうしても日にちや時間を含めてしまい、〇〇だけを取得する方法…
こんにちは、@nekokichi1_yos2です。 新しいアプリを作りました。 その名も、MoneyMonth、です。 概要は、 サブスク、分割/リボ払いをまとめて管理するアプリ 2020/3のように、年月ごとに発生する月額料金を把握できる 商品/サービスの名前、○年/○月の期間、…
Firebaseを利用中に下記のエラーに遭遇。↓'Invalid document reference. Document references must have an even number of segments, but User has 1' 直訳すると、"ドキュメントを参照できません。参照には偶数のセグメントが必要、しかしユーザーは既に1…
解説 ストーリーボード ソースコード 出力結果 解説 全ファイルで変数や値を共有したくありませんか? クラスのインスタンスって基本的に生成したファイル内でしか使えません。 関数やメソッドなら、渡したい引数さえ用意すれば、後は処理や返り値を返してく…
完成図 会員登録 ログイン パスワードリセット 解説 会員登録 ログイン ログアウト パスワードリセット ストーリーボード ソースコード 会員登録画面 ログイン画面/ログアウト ログアウト 完成図 会員登録 ログイン パスワードリセット 解説 会員登録 Auth.a…
完成図 解説 ストーリーボード ソースコード 完成図 解説 「手順」 ScrollViewを設置 UIViewを生成 UIButtonを生成 UIButton.frameを設定 UIButton.tagを設定 UIButtonに文字や処理を設定 UIViewに設置 3~7をループ ScrollViewにUIViewを設置 ScrollView.con…
保存してあるデータ 解説 デバック結果 ソースコード 保存してあるデータ 解説 Firebaseからデータを取得する時、 どのような型(クラス)で取得されるのか? どんなメソッドがあるのか? という疑問が湧かないだろうか? udemyで初めてFirebaseを知り、自分…
完成図 解説 ソースコード 完成図 「操作画面」 「保存されているデータ」 解説 Firebaseから画像を取得するには、2つの方法がある。↓ Storageの参照で取得 FiirebaseUIで取得 (参考ページ) firebase.google.com 前者は一般的な方法だがクロージャやエラ…
完成図 解説 ソースコード 完成図 (アルバム画面はEvernoteのものです。) 解説 過去に同じ記事を書いたが、 ソースコードがわかりづらい ただソースコードが書いてあるだけ というテキトーな記事だったのに、新たに書き直した。 ※注意 下記のソースコード…
解説 ストーリーボード ソースコード 解説 segueのアニメーションは以下。 coverVertical:下から出現 crossDisolve:フェードイン flipHorizontal:180度回転する(裏返る) partialCurl:ペラっとめくれる 遷移先をインスタンスで取得し、modalTransitionSty…
解説 ストーリーボード ソースコード 解説 UserDefaultsのbool値でStoryBoardを分岐。 AppDelegate.swiftのdidFinishLaunchingWithOptions内に記述。 今回だと、 true : Main.storyboard false : test.storyboard のそれぞれに分岐。 FirebaseやNiftyCloudで…
完成図 解説 ストーリーボード ソースコード 完成図 (ユーザー名:パスワード=user : password) 解説 新規登録:NCMBUser.signUpInBackground ログイン:NCMBUser.logInWithUsername(inBackground: ユーザー名, password: パスワード) NCMBUesr.current()…
完成図 解説 ソースコード 完成図 解説 ImageViewにButtonのようなタップアクションを追加するには、 ImageViewのisUserIntaractionEnabledをtrueにする(StoryBoardからも変更可) ImageViewにUI部品のTapGestureRecognizerを追加 TapGestureRecognizerを@I…
完成図 解説 ソースコード 完成図 解説 WebViewを経由することなくsafari経由でURLを開ける。 WebViewの場合は、 //URLを受け取る変数 let url = URL(string: url_word) let urlrequest = URLRequest(url: url!) webview.loadRequest(urlrequest) と記述で実…
完成図 解説 ソースコード 完成図 解説 検索バーを設置するには、ViewがNavagationControllerを継承している必要がある。 予め、Embed In で継承しておこう。 また、検索バーをSNSやクラウド共有アプリで使用する際、searchBar専用のメソッド(searchBarSear…
完成図 解説 ストーリーボード 完成図 今回使用したカスタムフォントは、GoogleFontから入手 ↓ fonts.google.com 解説 カスタムフォントの実装方法は、 カスタムフォント(.ttf , .otf)を用意 左のフォルダに追加 プロジェクトファイル → TARGETS → BuildPh…
完成図 解説 ソースコード 完成図 解説 UITextFieldはDelegateメソッドでキーボードを閉じられる。 だが、UITextViewには明確な方法がない。 touchesBegan内でresignFirstResponderを実行しても閉じられない始末。 そこで、キーボード内にキーボードを閉じる…
完成図 解説 ソースコード 完成図 解説 新規メールを起動し、指定したメアドにメールを送れる。 ・設定できる項目は 宛先 Cc Bc 件名 本文 の5つ。 参考になった動画がこちら。 ↓ 注意点が1つ。 スマホの環境設定からメールのアカウントを追加しないと起動…
どうも、猫吉(@nekokichi1_yos2)です。 完成図 ストーリーボード ソースコード 完成図 ストーリーボード 「カスタムセル」 「TableView」 ソースコード import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @…
どうも、猫吉(@nekokichi1_yos2)です。 Cellを高さを変えるには、 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { tableView.estimatedRowHeight = 20 //セルの高さ return UITableView.automaticDimension /…
どうも、猫吉(@nekokichi1_yos2)です。 TextViewに枠線を付ける方法を伝授します。 完成形 ストーリーボード ソースコード 完成形 ストーリーボード ソースコード import UIKit class ViewController: UIViewController { @IBOutlet weak var textView: UITe…