プログラミング

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

【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】アルバムを開く

override func viewDidLoad() { super.viewDidLoad() PHPhotoLibrary.requestAuthorization { (status) in switch(status){ case .authorized: break case .denied: break case .notDetermined: break case .restricted: break } } @IBAction func changeIma…

【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 =…

【プログラミング】僕が気になったエンジニア系ツイート 第2弾

ある職種に就きたいなら、その職種で活躍している方の言葉や考えを知ることが大事です。 なぜなら、活躍している=その業界で生き抜くスキル,術を持っている,知っている、から。 オリンピック選手がオリンピック選手になれたのは、そのためにどんなトレーニ…

【プログラミング】僕が気になったエンジニア系ツイート 第1弾

Twitter上には、現役のエンジニアやフリーランスが日々ツイートしてます。 彼らのツイートを毎日読むと、未経験が目指すべきエンジニアの理想像がなんなのかが大体わかります。 例えば、 初心者が習得すべき言語 フロントエンド業界を生きるために必要なスキ…

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

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

【技術書レビュー】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…

Amazonで技術書が50%OFFだったので6冊購入してみた

10/31,11/11の2日間、AmazonではIT・プログラミング系の技術書を出版している”インプレスR&D”の電子書籍(kindle)が50%OFFセールで値段が安くなっていた。 ちょうどこれから学ぼうとしている HTML/CSS(既に書籍で学習中) JavaScript の技術書を買おうと思っ…

【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 ・今回は、performSegueとprepareを使わずに画面遷移を行う ・self.storyboard?.instantiateVie…

【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を設置する方法も考えたが、タップするとクリップボードにコピーされる処理を施せなかったので断念。) ・パスワード生成はパ…