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

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

iOS

Android&iOS これから対応すべきこと(随時更新)

スマホアプリの申請に必要な要件はしばしば変更されます。 この記事は、AndroidアプリおよびiOSアプリをこれから作る(更新する)にあたって、対応しなくてはいけない変更点を一覧にまとめたものです。

【iOS13】Dark Mode対応

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

iOS端末 画面サイズ・対応OS早見表(iOS7〜12)

iOS

iOS13以降の表はこちら

『Metal入門』

iOS12でOpenGLが非推奨になりました。 Metalやってみるなら今かな、と思いこちらの本で少し勉強してみました。 booth.pm 本の内容については以下の記事をご参照ください。(著者ご本人による記事で、目次と冒頭部分の概略的なものが載っています) qiita.com…

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

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

【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】お買い物計画アプリ 完成しました

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

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

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

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

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

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

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