このページの本文へ

Swift Playgroundsで学ぶiOSプログラミング第25回

iOSのビューに図形を描く

NeXTSTEP時代から続く伝統的な手法で描画

2017年01月30日 17時00分更新

文● 柴田文彦 編集●吉田ヒロ

  • この記事をはてなブックマークに追加
  • 本文印刷

 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時代から続く伝統的な方法です。

 まずは最も基礎的な部分から見ていきましょう。

「Blank」のテンプレート使って作った白紙のプレイグラウンドに、この実質5行のプログラムを入力して「Run My Code」をタップしてみましょう

この連載の記事

週間ランキングTOP5

ASCII倶楽部会員によく見られてる記事はコレだ!

ASCII倶楽部の新着記事

会員専用動画の紹介も!