Swift・Xcode

【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 ・しかし、上記の方法では、取り出すデータの順番がバラバラになってしまう ・そこで、今回は順番に取り出す方法を紹介する ・データを…

【Swift】セルをタップ時、セルの色を自由に変更する

完成図 解説 ソースコード 完成図 解説 ・cell.selectionTypeに用意されたプロパティ(.none, .blue, .gray)を設定するだけ ・自分好みの色に設定するなら、 UIViewを生成 UIVIewの背景色を設定 cell.selectedBackgroundViewにUIViewを代入 をするだけ ソース…

【Swift】空のセルを消す(非表示)

完成図 解説 ソースコード 完成図 解説 ・tableView.tableFooterView = UIView() ・tableViewのFooterを空のUIViewに設定することで、セルがなくなる仕組みなのだろう ・空のセルを消すといっても、separator(線)を消しただけなんだけどね ソースコード impo…

【Swift】アラート内にtextFieldを設置する

完成図 解説 ソースコード 完成図 解説 ・アラート内のtextFieldは複数設置可能 ・各textFieldを識別するために、それぞれにtagを設定 ・一旦、アラートのtextFieldを全て格納した配列を取得し、for文で1つずつ取り出していく ソースコード import UIKit cl…

【Swift】UIRefleshController(インジケーター)の実装方法

完成図 手順 ソースコード 完成図 今回は、インジケーターを実行すると、 "更新したよ" というテキストが代入されたセルが追加される。 手順 UIRefreshControlのインスタンスを生成 色、テキスト、などのプロパティを設定 実行したい処理や関数を追加 tableV…

【Swift】セル上でLabelを動的可変しながら、ImageViewを固定表示する

以前、”【Swift】セルとLabelを動的に可変させる方法”という名の記事を投稿した。 nekokichi2yos2.hatenablog.com もしチャットアプリを作るなら、Label以外にも解決すべき問題がある。 それは、アイコン、だ。 ImageViewを動的に可変させる設定を施したLabe…

【Swift】セルとLabelを動的に可変させる方法

LINEのようなチャットアプリを作る際、どうやってあの吹き出しを実装するかが問題。 (チャットアプリを作る際、とても苦労しました。) 動的に可変とは、LINEのメッセージみたいに、入力された内容に応じてLabelの大きさを変化させること。 つまり、その時…

【Swift】Firebaseからデータを取得する際のfor文について

下記のコードはFirebaseにデータを保存するコードである。 ↓ //データベースの参照URL let ref = Database.database().reference() //Firebaseからデータを取り出す ref.child("post").observeSingleEvent(of: .value) { (snap,error) in let snapData = sna…

【Swift】FirebaseRealtimeDatabaseにデータを保存する

手順 ソースコード 補足 手順 データを保存するための階層(参照URL)(リファレンス)を指定 保存したいデータを用意 データを保存 ソースコード //Firebaseにデータを保存する関数 func saveData_Firebase(_ username:String, _ message:String) { //データベ…

【Swift】Firebaseの階層URL

Firebaseにデータを保存するには、保存したい場所,階層を指定する必要がある。 乱数名の階層、自分で命名した階層、どんな階層でもOK。 今回は、Firebaseの階層URLを指定する際、各階層URLがどんな階層を表すのかを説明する。 データベース - post let ref =…

【Swift】BGMや効果音を再生する方法

手順 ソースコード 注意点 手順 音源ファイルのパスを生成 音源プレイヤーを生成 do-catch文を記述 do:既に生成したプレイヤーにパスを設定したプレイヤーを設定 do:音源プレイヤー再生する catch:エラーが起こった場合の処理 ソースコード //パス let no…

僕がよく使うショートカット

僕が今使用しているIDE(統合開発環境)は、 ターミナル Xcode VSCode(VisualStudioCode) の3つ。 ターミナルは Git GitHub の、 Xcodeは Swift の、 VSCodeは HTML/CSS のために利用している。 上記のような開発環境を円滑に使用するには、ショートカットの…

【技術書レビュー】Xcode9 - iOSアプリ開発集中講座

今回は、久しぶりにSwiftの学習を再開した時に僕がお世話になった 「 iOSアプリ開発集中講座」 https://www.amazon.co.jp/%E3%81%9F%E3%81%A3%E3%81%9F2%E6%97%A5%E3%81%A7%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%A7%E3%81%8D%E3%82%8B-iOS%E3%82%A2%E3…

【Swift】TableViewのセルの線を消す方法

TableViewのセルにはあらかじめ、セルを認識するため?の線(Separator)が表示されている。 身近な例だと、リマインダー。 ↓ でも、正直邪魔なので、消しちゃいましょう。 やり方は、 TableViewを選択 ユーティリティエリア - Separator を None に変更 ほら…

【Swift】Labelにタップイベントを追加する

出力結果 解説 ストーリーボード ソースコード 出力結果 解説 ・UserInterfaceEnabledを使い、Labelにタップイベントを追加 ・必要なのは、①tag ②UserInterfaceEnabledの許可 ・tagが設定されていないものは、基本的にViewを認識する ・画面全体にタップイベ…

【Swift】UIGestureRecognizerで画面全体にタップイベントを追加する

出力結果 解説 ストーリーボード ソースコード 出力結果 解説 ・UIGestureRecognizerをViewに実装し、画面タップ時の処理を実装する ・出力結果には、画面を4回タップしたので、4つの"タップされました"が表示されている ※注意 ・LabelやButtonなどのUIにで…

【Swift】画面遷移しながら値を渡す方法2

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・前回の記事では、performSegueとprepareによる画面遷移を実装した ↓ nekokichi2yos2.hatenablog.com nekokichi2yos2.hatenablog.com ・今回は、performSegueとprepareを使わずに画面遷移を行う ・s…

【Swift】ローカル通知を実装する

完成図 ストーリーボード ソースコード 完成図 ストーリーボード ソースコード ViewController import UIKit import UserNotifications class ViewController: UIViewController { @IBOutlet weak var textField: UITextField! override func viewDidLoad() …

【Swift】コードレビューを受けたみた2

今週に作ったパスワード生成アプリのコードレビューをSlackのメンバーにお願いしてもらい、数々の指摘をもらったので、備忘録として書きます。 ↓ 「パスワード生成アプリ」 nekokichi2yos2.hatenablog.com ・辞書のキーを数字にすると、いちいち中身を確認し…

【Swift】Switch文で複数の条件式を設定する

複数の値や配列を1度にswitch文で使用したい場合は、そのまま条件式に設定すればいい。 let dic = [100,200,300] switch (dic[0], dic[1], dic[2]) { case (1, 2, 3): print("1 2 3") case (100, 200, 300): print("100 200 300") default: print("nothing")…

【Swift】ToolBarにあるButton間の間隔を空ける

TabBarとは違い、ToolBarにButtonを配置するだけでは、間隔を広げてはくれない。 そこで、 Fixed Space Flexible Space というButton間に間隔を形成するUI部品を設置する。 まずはToolBarとButtonを設置 ↓ 小さい間隔を形成 ↓ 大きい間隔を形成 ↓

【Swift】パスワード生成アプリを作ってみた

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・tableViewのセルにパスワードを代入し、表示する (セルの上にUILabelを設置する方法も考えたが、タップするとクリップボードにコピーされる処理を施せなかったので断念。) ・パスワード生成はパ…

【Swift】複数の乱数(文字列)を複数個、生成してみた

解説 ソースコード 解説 ・今回は、乱数(文字)を取り出し、それを変数に代入(連結)していく処理を繰り返す ・ characters = "abcdefghijklmnopqrstuvwxyz":乱数に含める材料となる文字を文字列で用意 ・len = Int(arc4random_uniform(UInt32(characters.cou…

【Swift】UISwitchを実装してみた

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・UISwitchはON/OFFを司るUI部品 ・UISwitch.isOnは、true/false : ON/OFF ・1つのUISwitchで他のUISwitchのON/OFFを切り替えるには、他のUISwitchをOutletで接続する必要がある ・if文は三項演算子…

【Swift】WKWebViewでWebページを表示

解説 ソースコード 解説 ・WebViewがdeprecated(非推奨)となり、今後はWebKit Viewを使用することになる ・インジケーターを一から設定し、座標やスタイルも設定 ・インジケーターを起動させたり止めるには、WKNavigationDelegateでdidstart,didfinishを用意…

【Xcode】@IBActionで紐付けする時にsenderを変更する方法

UISwitchのON/OFFを切り替えるには、@IBActionのsenderをUISwitchにしなければならない。 しかし、普通に紐付けすると、senderがAnyになってしまい、手作業でsenderをUISwitchに書き換えなければならない。 だが、またまたコミュニティでそのことを質問した…