iPhoneアプリ:電卓をつくる その4

このエントリーを含むはてなブックマークはてなブックマーク - iPhoneアプリ:電卓をつくる その4

前回のiPhoneアプリ:電卓をつくる その3までは、ボタンをタップしてカウントアップするカウンタを作成してきました。今回は、このカウンタを電卓へと改良していきましょう。設計する電卓のインタフェースはこんな感じにしてみました。なんとなく電卓ぽいでしょ(笑)

calc11

今回つくる電卓は、キーボタンを押すとその数字が結果表示用のウインドウに表示され、Cボタンを押すと結果が0になるという(電卓と呼んだらあかんな)仕様です。

いつもどおり、先にInterface Builderを使って、電卓のインタフェースを設計してしまいましょう。ViewウインドウにライブラリウインドウからUIButtonを11個(テンキー10個+Cボタン1個)をドラックしてきて、上図のように配置します。それぞれのボタンのラベルも書き換えてください。また、UILabelもD&Dしてきて画面の上側に配置しておきます。

今回はボタンの数が11個と非常に多いため、もし前回描いたようなコンセプトでプログラムを書いていくとすると、11個もの関数を用意する必要があります。

calc13

これは、非常にめんどうな作業です。今回は下図に示すように、複数のボタンからひとつの関数を呼び出すかたちで設計を進めていきたいと思います。図のように、どのボタンが押されても、ある1つの関数が呼び出されて処理が進みます。

calc12

このような設計にする場合、ボタンが押されたときに駆動される関数側ではどのボタンが押されたのかを知る必要があります。それに使われるのがボタンが持っているTagという変数(というかID)です。関数では、引数としてこのIDが送られてくるので、それを参照することで、どのボタンが押されたのかを判断することが出来ます。

そのためには、各ボタンにユニークなTag番号を付けておく必要があるため、IB側でその設定をおこないたいと思います。Viewウインドウでボタンを選択した状態でインスペクタを参照すると、下の方にTagの設定項目があると思います。そのTagを各ボタンの番号と対応させて設定します。(7番キーならTagが7になるようにする)クリアボタンは別に関数を作るので、特にTagを設定する必要はありません。

calc14

ここまでで、一旦Interface Builderの設計は終了です。次回はXcodeに戻って電卓のプログラムを設定していきたいと思います。

iPhoneアプリ:電卓をつくる その5

One Response to “iPhoneアプリ:電卓をつくる その4”

  1. [...] iPhoneアプリと、そのプログラム iPhoneアプリを作る際に役立つプログラムを置いています コンテンツへ移動 ホームサイトマップ ← iPhoneアプリ:電卓をつくる その4 [...]

Leave a Reply

You must be logged in to post a comment.