文系プログラマの勉強ノート

スマホアプリ開発やデザインなどについて勉強したことをまとめています

Xcode

【iOS13】Dark Mode対応

iOS13からDark Modeが使えるようになりました。 Xcode11(iOS13 SDK)でビルドされたアプリは自動的にDark Modeが有効になるので、 「うちのアプリはDark Mode対応しなくていいや」という訳にもいきません。 (2019年10月時点で必須ではありませんが、将来的…

SwiftでRSSリーダーアプリを作りました

折角Swiftを勉強し直したので、シンプルなRSSリーダーアプリを作りました。 購読したいRSSフィードのURLを登録すると、 最新のRSSフィードを取得し、リスト表示します。(RSS2.0対応) 一度入力したURLは次回起動以降も引き継がれます。 リストをタップする…

小数点以下の桁数を指定して四捨五入

データを整理していたら昔Objective-Cで書いたソースコードが出てきたので、Swiftに書き直してみました。 引数はどちらの言語でも value: 四捨五入する値、scale: 小数点以下の桁数 です。 Objective-C + (double)round:(double)value scale:(NSInteger)scal…

【Xcode】iOS11からUITableViewのSwipe Actionが新しくなった

iOS11からUITableViewDelegateにSwipe Actionの新しいメソッドが追加されました。 これによって以下のことができるようになりました。 (iOS11以降限定です) 左から右へのSwipe Actionを実装する Swipe Actionに画像を表示する 使用イメージ 左から右へのSw…

【Xcode】XCUITest + fastlane/snapshotで始めるUIテスト(後編)

後編ではfastlane/snapshotを導入して、任意のタイミングでスクリーンショットを取得します。前編はこちらから。 【Xcode】XCUITest + fastlane/snapshotで始めるUIテスト(前編) - 文系プログラマの勉強ノート fastlane/snapshotとは github.comfastlaneは…

【Xcode】XCUITest + fastlane/snapshotで始めるUIテスト(前編)

前編では、XCUITestを導入してUITestを実行してみます。 XCUITestとは Xcode7から追加されたUIテスト機能です。 UIテストをするためのフレームワークはEarlGreyやappiumなどもありますが、 iOS8以降対応で問題なければ、XCUITestが扱いやすいと思います。 特…

【Xcode】コードだけでグラデーション作成

下図のようなグラデーションをコードだけで作る方法です。 override func viewDidLoad() { super.viewDidLoad() let colors = [UIColor(red: 112/255, green: 134/255, blue: 241/255, alpha: 1.0).cgColor, UIColor(red: 40/255, green: 169/255, blue: 255…

【Xcode】UIAlertControllerで簡単進捗ダイアログ作成

カスタムビューを作らず、UIAlertControllerで簡単な進捗ダイアログを表示する方法です。 // インジケータ表示 alert = UIAlertController(title: "Loading...", message: "\n", preferredStyle: .alert) let indicator = UIActivityIndicatorView() indicat…

【Xcode】UIAlertControllerの外側をタップで閉じる & Toast風に一定時間後に閉じる方法

UIAlertControllerの外側をタップで閉じる UIAlertControllerで、外側(上の図でグレーの部分)をタップすると閉じる方法です。 class ViewController: UIViewController { var alert: UIAlertController! override func viewDidAppear(_ animated: Bool) { …

【Xcode】UIAlertController呼び出しを簡略化する

UIAlertControllerを使って一般的なOK、Cancelボタン付きのアラートを表示するには 次のようにコードを書きます。 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"title" message:@"message" preferredStyle:UIAlertControllerS…

【Xcode】なるべくコードを書かずにAutoLayoutを使ってアニメーションする

AutoLayoutを使ってアニメーションする方法を調べたところ、VisualFormatを使ってコード上でAutoLayoutの制約を書く方法が多く見つかりました。しかし、VisualFormatで制約を書くのはなかなか複雑ですので、そこはIBで済ませてなるべくコードを書かないでや…

【Xcode】IPv6対応 公式日本語ドキュメント

2016年初頭より、AppStore審査でIPv6への対応が必須になります。 これに関しててっきり英語のドキュメントしかないものだと思っていましたが、 『ネットワーク接続の概要』という日本語の公式ドキュメントにも 同じ内容が載っていましたのでリンクを貼ってお…

【Xcode】キーボードで隠れないようにスクロール

キーボードで入力エリアが隠れてしまう場合に、キーボードに合わせてスクロールさせるサンプルです。 先日の「【Xcode】文字入力できるTableViewCellサンプル - 文系プログラマの勉強ノート」のソースに追加していきます。 キーボード表示・非表示時の通知登…

【Xcode】文字入力できるTableViewCellサンプル

最近仕事でTableViewCellをタップするとそのままセル上で入力できるというUIを作りました。よくあるUIですが、そういえば3年程前にも作ろうとして、その時はやり方がわからず諦めたなぁ…。いつの間にか自力で作れるようになっていて、成長してるんだなと少し…

『iOS開発におけるパターンによるオートマティズム』

今日は「iOS開発にはだいぶ慣れてきたけど、もっと効率良く作りたい」 「設計に自信がない」「MVCモデルがよくわからない」 という方の参考になりそうな本を紹介します。http://www.amazon.co.jp/iOS開発におけるパターンによるオートマティズム-木下-誠/dp/…

「ShoppingPlan」リニューアル&紹介Webサイト完成

【Xcode】お買い物計画アプリ 完成しました - 文系プログラマの勉強ノートで一旦完成報告をした iPhoneアプリ「ShoppingPlan」ですが、 その後もちょこちょこ機能追加やデザインの修正を行っていました。そしてこの度、iOS8、iPhone6&6Plus対応を済ませ、 紹…

【Xcode】画面サイズに応じてUICollectionViewのセルのサイズを変更

上記の様に画面を4分割したUICollectionViewを表示する画面を作っていたのですが、 画面サイズが変わったら当然それに合わせてセルのサイズを変えたいもの。ところが、画面サイズに応じてUICollectionViewのセルのサイズを変更するのは AutoLayoutからでは…

【Xcode】Autolayoutを勉強中

画面回転に対応する際、layoutSubviewsを使ってソースコード上で 直接frameを指定するやり方を仕事で教わり、 今までずっとそれでやってきました。でもそれだと複数端末のサポートが大変だし、 画面サイズの違う新端末が出た時に毎回修正が必要に…。 そろそ…

【Xcode】 iPhone5/5S用画面をiPhone6/6 Plusに対応させる方法

早いものでもうiOS8です。iPhone6/6 Plus発売です。新言語SwiftもGM版です。 新機能もたくさんあって、あれもこれもやってみたいですが、 中でも対応が急務なのは 「既存アプリをiPhone6/6 Plusの画面サイズに対応させること」 ではないでしょうか?今回はiP…

【Xcode】お買い物計画アプリ 完成しました

昨年11月のブログ開設とともに作り始めたお買い物計画アプリ「ShoppingPlan」、 ようやくデザイン含めて完成しました。 アプリを起動するとまずリスト一覧画面が表示されます。リストをタップすると各リスト画面に移動するので、そこで買い物メモを入力しま…

【Xcode】アナログ時計を作る

画像を使ってアナログ時計を作ってみます。 プロジェクトの作成 Single View Applicationのプロジェクトを作成します。 名前は「AnalogClock」にしました。また、必要な画像(文字盤、時針、分針、秒針)をプロジェクトに追加しておきます。 以下のような画…

【Xcode】文字数に応じてUITableViewの行の高さを変える

お買い物計画アプリの買い物リスト部分が完成しました。アプリを起動すると左のリスト一覧画面が表示されます。 ここでリストを作ってタップすると右の各リスト画面に遷移して、 具体的なほしいもの、予算、個数、メモや購入済みチェックボタンなどを入力で…

【Xcode】お買い物計画アプリ進捗 12/24

仕事が忙しく、お買い物計画アプリ作りも中断していました。とりあえずリストの作成、編集、合計金額の計算、 チェックマーク表示くらいはできるようになりました。 最低限の買い物リストとしては使えるかな。制作は遅々として進まないものの、作っていると…

【Xcode】UITableViewを追加しただけで落ちる

勉強のため、買い物計画アプリを作ることにしました。 よくある買い物リスト+地図上に買い物ルートを表示できる、という 旅行先など遠出の買い物で効率よく買い物するのに便利かもしれないアプリです。 普段仕事では使わないStoryboard、ARC、AutoLayoutな…