iPad上のSwift Playgroundsが登場した直後、この連載では「Blank」のテンプレートを選んで作成した白紙のプレイグラウンドを使っていました。その後は順に、「Answers」「Shapes」のテンプレートを、この2つのテンプレートが含んでいるライブラリ的な機能を利用するために取り上げました。Answersは、シンプルな対話型のユーザーインターフェース。前回まで利用していた、まだ記憶に新しいShapesは、手軽に使えるグラフィック機能を備えていました。
今回からは再びBlankを選んで、白紙の状態のプレイグラウンドからプログラミングを始めることにします。だからと言って、ユーザーインターフェースやグラフィック機能を諦めるわけではありません。テンプレートが含む機能に頼らずに、自力でそうした機能を実現するのです。自力と言っても、もちろんiOSの機能は可能な限り利用します。それによって、一般のiOSアプリとほぼ同じ土俵に立つことになります。とはいえ、Swift Playgroundsは、iOSアプリ開発用のXcodeに比べて開発環境も貧弱ですし、iOSアプリ用のすべてのフレームワークが使えるわけではありません。そうした制約の中で、できる限りの成果を出すことが目標です。
今回は、まずiOSアプリの基盤とも言える「ビュー」にアクセスする方法を探ります。
ビューコントローラーの作成
この連載の拡大版の第10回「iPad版Swift Playgroundsはダウンロードしないと損」の最後の例として、白紙のプレイグラウンドから始めて、右側の領域に幾何学的なグラフィックを描くものを示しました。その際には、プログラムについて何も解説しなかったので、印象も薄かったかもしれません。そこでは、とにかくそういうことが可能であることを示すことが目的でした。今回からは、それがどうして可能なのか、解説しながら進めます。
今回のグラフィック表示も、基礎的な部分は第10回に示した例と同じなのですが、描画の部分のアプローチが異なります。実はiOSの画面にグラフィックを描くには、何とおりもの方法が用意されているのです。今回示すのは、iOSの基になったmacOSから、さらに言えばその前のNeXTSTEP時代から続く伝統的な方法です。
まずは最も基礎的な部分から見ていきましょう。
この連載の記事
- 第100回 SceneKitの物理現象シミュレーションとアニメーションをARKitに持ち込む
- 第99回 「物理学体」と「物理学場」を設定して物理現象をシミュレーション
- 第98回 SceneKitのノードに動きを加えるプログラム
- 第97回 いろいろな形のノードをシーンの中に配置する
- 第96回 SceneKitの基礎シーンビュー、シーン、ノードを理解する
- 第95回 現実世界の床にボールや自動車のモデルを配置する
- 第94回 ARKitを使って非現実世界との融合に備える
- 第93回 ARKitが使えるiPadを識別するプログラム
- 第92回 Swift Playgrounds 2.1での問題点をまとめて解消する
- 第91回 iPadの内蔵カメラで撮影した写真を認識するプログラム
- この連載の一覧へ