iOSプログラミングを網羅的に解説する徹底ガイド。「第I部 ビュー」「第II部 インタフェース」「第III部 フレームワーク」「第IV部 その他の話題」の四部構成で解説します。第I部では、iOSアプリのUI上に表示される要素について学びます。第II部では、Cocoaフレームワークが提供する各種の機能を持った特定用途のビューについて学びます。第III部では、UIKitやFoundation以外の重要なフレームワークについて学びます。第IV部では、ファイル、ネットワーク、スレッド、アンドゥ機能など、その他の雑多な話題を扱います。iOSアプリ開発を極めたい中級以上のiOSプログラマー対象。プログラミングのお供に机や書棚に置くだけで開運・魔除けの効果もあるバイブル、待望の刊行!
翻訳者によるサポートページ。
詳解 iOS SDK 第4版
―ワンランク上のiPhone/iPadプログラミング
Matt Neuburg 著、武舎 広幸、阿部 和也、河村 政雄、上西 昌弘、福地 太郎 訳
- TOPICS
- Mobile
- 発行年月日
- 2014年12月
- PRINT LENGTH
- 752
- ISBN
- 978-4-87311-675-4
- 原書
- Programming iOS 7, 4th Edition
- FORMAT
- PDF EPUB
目次
まえがき 第Ⅰ部 ビュー 1章 ビュー 1.1 ウィンドウ 1.2 ビューを使った実験 1.3 サブビューとスーパービュー 1.4 可視性と不透明度 1.5 フレーム 1.6 境界と中央 1.7 変換 1.8 レイアウト 1.8.1 自動サイズ調整 1.8.2 自動レイアウト 1.8.3 制約 1.8.4 自動サイズ調整の制約 1.8.5 nibにおける制約 1.8.6 レイアウトイベントの順序 1.8.7 自動レイアウトとビューの変換 2章 描画 2.1 UIImageとUIImageView 2.2 グラフィックスコンテキスト 2.3 UIImageの描画 2.4 CGImageの描画 2.5 CIFilterとCIImage 2.6 UIViewの描画 2.7 グラフィックスコンテキストの設定 2.8 パスと描画 2.9 クリッピング 2.10 グラデーション 2.11 色とパターン 2.12 グラフィックスコンテキストの変換 2.13 シャドウ 2.14 ポイントとピクセル 2.15 コンテンツモード 3章 レイヤ 3.1 ビューとレイヤ 3.2 レイヤとサブレイヤ 3.2.1 レイヤ階層の操作 3.2.2 サブレイヤの配置 3.2.3 CAScrollLayer 3.2.4 サブレイヤのレイアウト 3.3 レイヤの描画 3.3.1 コンテンツのリサイズと配置 3.3.2 自分自身を描画するレイヤ 3.4 変換 3.4.1 深さ 3.5 シャドウ、枠線、その他 3.6 レイヤとキー値コーディング 4章 アニメーション 4.1 描画、アニメーション、スレッド 4.2 UIImageViewとUIImageによるアニメーション 4.3 ビューアニメーション 4.3.1 アニメーションブロック 4.3.2 アニメーションブロックの変更 4.3.3 トランジションアニメーション 4.3.4 ブロックベースのビューアニメーション 4.4 暗黙的なレイヤアニメーション 4.4.1 アニメーショントランザクション 4.4.2 メディアタイミング関数 4.5 Core Animation 4.5.1 CABasicAnimationクラスとその継承 4.5.2 CABasicAnimationの使用 4.6 キーフレームアニメーション 4.6.1 プロパティをアニメーション可能にする 4.6.2 アニメーションのグループ化 4.6.3 トランジション 4.6.4 アニメーションリスト 4.7 アクション 4.7.1 アクションとは何か 4.7.2 アクション検索 4.7.3 アクション検索にフックを入れる 4.7.4 プロパティ以外のアクション 4.8 エミッタレイヤ 5章 タッチ 5.1 タッチイベントとビュー 5.2 タッチの受信 5.3 タッチの制限 5.4 タッチの解釈 5.5 ジェスチャレコグナイザ 5.5.1 ジェスチャレコグナイザクラス 5.5.2 複数のジェスチャレコグナイザ 5.5.3 ジェスチャレコグナイザのサブクラス化 5.5.4 ジェスチャレコグナイザのデリゲート 5.6 タッチの配信 5.6.1 ヒットテスト 5.6.2 最初のタッチイベントの配信 5.6.3 ジェスチャレコグナイザとビュー 5.6.4 タッチの排除ロジック 5.6.5 認識 5.6.6 タッチとレスポンダチェーン 第Ⅱ部 インタフェース 6章 ビューコントローラ 6.1 ビューコントローラ階層 6.2 ビューコントローラとビューの生成 6.2.1 手作業で作成するビュー 6.2.2 汎用ビューの自動生成 6.2.3 別のnibからのビューの生成 6.2.4 ビューコントローラのnibによるインスタンス化 6.2.5 ビューコントローラのストーリーボードによるインスタンス化 6.3 回転 6.3.1 回転イベント 6.3.2 最初の向き 6.4 ビューコントローラの提示 6.4.1 提示されるビューのアニメーション 6.4.2 提示のスタイル 6.4.3 被提示側のビューの回転 6.5 タブバーコントローラ 6.5.1 タブバーアイテム 6.5.2 タブバーコントローラの設定 6.5.3 ナビゲーションコントローラ 6.5.4 バーボタンアイテム 6.5.5 ナビゲーションアイテム 6.5.6 ツールバーアイテム 6.5.7 ナビゲーションコントローラの設定変更 6.6 ページビューコントローラ 6.7 コンテナビューコントローラ 6.8 ストーリーボード 6.9 ビューコントローラの生成と破棄に関するイベント 6.10 ビューコントローラとメモリ管理 7章 スクロールビュー 7.1 スクロールビューの生成 7.2 スクロール 7.2.1 ページング 7.2.2 タイリング 7.3 ズーム 7.3.1 プログラムによるズーム 7.3.2 拡大と詳細化 7.4 スクロールビューのデリゲート 7.5 スクロールビューとタッチ 7.6 スクロールビューの実行速度 8章 テーブルビュー 8.1 テーブルビューのセル 8.1.1 組み込みのセルスタイル 8.1.2 カスタムセル 8.2 テーブルビューのデータ 8.2.1 三つの質問 8.2.2 テーブルビューのセクション 8.2.3 テーブルビューのデータ更新 8.2.4 行高の変化 8.3 テーブルビューでの選択 8.4 テーブルビューのスクロールとレイアウト 8.5 テーブルビューの検索 8.6 テーブルビューの編集 8.6.1 テーブルアイテムの削除 8.6.2 テーブルアイテムの編集可能なコンテンツ 8.6.3 テーブルアイテムの挿入 8.6.4 テーブルアイテムの順序変更 8.6.5 動的なテーブルコンテンツ 8.7 テーブルビューのメニュー 9章 ポップオーバーとスプリットビュー 9.1 ポップオーバーの設定と表示 9.2 ポップオーバーの管理 9.3 ポップオーバーの消去 9.4 ポップオーバーセグエ 9.5 自動ポップオーバー 9.6 スプリットビュー 10章 文字列 10.1 UILabel 10.2 UITextField 10.2.1 編集とキーボード 10.2.2 キーボードの設定変更 10.2.3 テキストフィールドのデリゲートメッセージとコントロールイベント メッセージ 10.2.4 テキストフィールドのメニュー 10.3 UITextView 10.4 Core Text 11章 ウェブビュー 11.1 コンテンツの読み込み 11.1.1 ウェブユーコンテンツのロード 11.2 ウェブビューのコンテンツのデザイン 11.3 ウェブビューのページ化 11.4 ウェブビューの状態の復元 11.5 ウェブビューとのやり取り 12章 コントロールおよびその他のビュー 12.1 UIActivityIndicatorView 12.2 UIProgressView 12.3 UIPickerView 12.4 UISearchBar 12.5 UIControl 12.5.1 UISwitch 12.5.2 UIStepper 12.5.3 UIPageControl 12.5.4 UIDatePicker 12.5.5 UISlider 12.5.6 UISegmentedControl 12.5.7 UIButton 12.5.8 カスタムコントロール 12.6 バー 12.6.1 UINavigationBar 12.6.2 UIToolbar 12.6.3 UITabBar 12.7 アピアランスプロキシ 13章 モーダルダイアログ 13.1 アラートビュー 13.2 アクションシート 13.3 ダイアログの代替手段 13.4 ローカルノーティフィケーション 13.5 アクティビティビュー 第Ⅲ部 フレームワーク 14章 オーディオ 14.1 システムサウンド 14.2 オーディオセッション 14.2.1 割り込み 14.2.2 経路の変更 14.3 オーディオプレイヤー 14.4 サウンドのリモートコントロール 14.5 バックグラウンドでの再生 14.6 オーディオ関連のその他の事項 15章 ビデオ 15.1 MPMoviePlayerController 15.2 MPMoviePlayerViewController 15.3 UIVideoEditorController 15.4 AV Foundationの基本 15.4.1 AV Foundationの構成要素 15.4.2 ムービーの表示 15.4.3 ビデオとアニメーションの同期 15.4.4 メディアの作成 15.4.5 AV Foundationのその他の機能 16章 ミュージックライブラリ 16.1 ミュージックライブラリの概要 16.2 ミュージックプレイヤー 16.3 ミュージックピッカー 17章 フォトライブラリと画像のキャプチャ 17.1 UIImagePickerController 17.1.1 フォトライブラリのアイテムの選択 17.1.2 カメラの使用 17.2 AV Foundationによる画像キャプチャ 17.3 Assets Libraryフレームワーク 18章 アドレスブック 18.1 アドレスブックデータベース 18.2 アドレスブック用ユーザーインタフェース 18.2.1 ABPeoplePickerNavigationController 18.2.2 ABPersonViewController 18.2.3 ABNewPersonViewController 18.2.4 ABUnknownPersonViewController 19章 カレンダー 19.1 カレンダーデータベース 19.2 カレンダーインタフェース 19.2.1 EKEventViewController 19.2.2 EKEventEditViewController 19.2.3 EKCalendarChooser 20章 メールとSMS 20.1 メールメッセージ 20.2 テキストメッセージ 20.3 Twitterメッセージの投稿 21章 地図 21.1 地図の表示 21.2 注釈 21.3 オーバーレイ 22章 センサ 22.1 位置情報 22.1.1 Map KitとCore Location 22.1.2 ジオコーディング 22.1.3 ロケーションマネージャ 22.2 方位(ヘディング情報) 22.3 加速度と姿勢 22.3.1 シェイクイベント 22.3.2 生の加速度データ 22.3.3 ジャイロスコープ 第Ⅳ部 その他の話題 23章 永続性記憶 23.1 サンドボックス 23.2 基本的なファイル操作 23.3 ファイルの保存と読み込み 23.4 ユーザーデフォルト 23.5 ファイル共有 23.6 ドキュメントタイプ 23.7 ドキュメントアーキテクチャ 23.8 XML 23.9 SQLite 23.10 画像ファイルフォーマット 24章 基本的なネットワーク機能 24.1 HTTPリクエスト 24.2 Bonjour(ボンジュール) 24.3 プッシュノーティフィケーション 24.4 基本的なネットワーク機能を超えて 25章 スレッド 25.1 メインスレッド 25.2 マルチスレッドを使うのが難しい理由 25.3 スレッドを利用する3通りの方法 25.3.1 直接的にスレッドを扱う方法 25.3.2 NSOperation 25.3.3 グランドセントラルディスパッチ 25.4 スレッドとアプリのバックグラウンド移行 26章 アンドゥ 26.1 アンドゥマネージャ 26.2 アンドゥインタフェース 26.3 アンドゥアーキテクチャ 付録A アプリケーションのライフタイムイベント A.1 典型的なシナリオ A.1.1 アプリの起動 A.1.2 ホームボタンをタップ A.1.3 バックグラウンドにあるアプリをフロントに移動 A.1.4 ホームボタンをダブルタップ A.1.5 アプリスイッチャでほかのアプリを選択 A.1.6 アプリスイッチャでアプリを選択 A.1.7 コントロールセンターあるいは通知センターを表示 A.1.8 コントロールセンターあるいは通知センターを消去 A.1.9 ノーティフィケーションのアラートが他のアプリから現れた場合 A.1.10 ノーティフィケーションアラートからほかのアプリが起動された場合 A.1.11 画面がロックされた A.1.12 画面のロックが解除された A.1.13 画面ロックボタンを長押し A.1.14 シャットダウンをキャンセル A.1.15 シャットダウンを実行 訳者あとがき 索引