Swift・Xcode

【Swift】UISliderで5刻みに値を表示させる

どうも、ねこきち(@nekokichi1_yos2)です。 今回は、5を一定間隔とする、5刻みのスライダーを作ります。 (5、10、15、20、25、30....) また、UISliderの幅を、0〜1000、とします。 解説 ソースコード 結果 解説 結論から言うと、 if UISlide…

【Swift】現在の、年/月/日/時/分/秒、を別々に取得

どうも、ねこきち(@nekokichi1_yos2)です。 現在日時を取得する方法ですが、ネットの記事のほとんどが 2020-03-12 15:11:02 の形で算出する方法しかなかったので、備忘録として記載。 ソースコード let current = Calendar.current print(current.componen…

【Swift】UUIDで重複しない固有IDを作る

どうも、ねこきち(@nekokichi1_yos2)です。 データベースにデータを保存する場合、 「どうやってユーザーとデータを紐付けるか」 の問題が発生します。 当然、ユーザー別に固有のID(データの羅列)が必要ですので、 乱数 が思いつきます。 しかし、乱数は…

【Swift】ScrollViewでページングを実装

こんにちは、@nekokichi1_yos2です。 ScrollViewでページ送りのアニメーションを実装する場合、下記のコードを打つか、 scrollView.isPagingEnabled = true インスペクタの"Paging Enabled"にチェックを入れます。 初期設定のScrollView ↓ PagingEnabledが可…

【Swift】ScrollViewで何ページ目か(現在地)を確認

こんにちは、@nekokichi1_yos2です。 (ページングの実装) ↓ nekokichi2yos2.hatenablog.com ScrollViewで今現在、何ページ目かを知りたい時、contentOffset、を使えばわかります。 contentOffsetとは、初期位置(0,0)からどれだけ移動したかを示すもの。 (…

【Swift】年/月のPickerViewをInt型で作る

こんにちは、@nekokichi1_yos2です。 MoneyMonthで年と月だけのPickerViewを作る際、Data型で作る方法が見当たらず、仕方なくInt型で作りました。 nekokichi2yos2.hatenablog.com Data型だと、どうしても日にちや時間を含めてしまい、〇〇だけを取得する方法…

【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】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.…