内容紹介
iPhone/iPadアプリ開発を極めよう!
iOSプログラミングを網羅的に解説する徹底ガイド。「第I部 ビュー」「第II部 インタフェース」「第III部 フレームワーク」「第IV部 その他の話題」の四部構成で解説します。第I部では、iOSアプリのUI上に表示される要素について学びます。第II部では、Cocoaフレームワークが提供する各種の機能を持った特定用途のビューについて学びます。第III部では、UIKitやFoundation以外の重要なフレームワークについて学びます。第IV部では、ファイル、ネットワーク、スレッド、Undo機能など、その他の雑多な話題を扱います。iOSアプリ開発を極めたい中級以上のiOSプログラマー対象。プログラミングのお供に机や書棚に置くだけで開運・魔除けの効果もあるバイブル、待望の刊行!
このような方におすすめ
iPhone/iPadアプリ開発者(デザイナー、プログラマー、マネージャー、マーケッター)
目次
詳細目次
まえがき
第Ⅰ部 ビュー
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 シャットダウンを実行
訳者あとがき
索引
続きを見る