画面を作る

半年ほど前にいちど,もとまかさんのチュートリアルを参考にじゃんけんゲームを作ってみたことがありました.今回画面を作るにあたって,すぐに出来るだろうと思っていましたが,チュートリアル通りに作ったのでは全然理解できていないことが判明..

もういちどこのチュートリアルをもとに,今回の画面を作ってみました.
手順は以下.

1.XcodeでView-Based Applicationを作成
 今回はスキャナ設定を行う画面にするので,プロジェクト名をScansettingAppとしました.
2. ScansettingAppViewControllerのソースコードのスケルトンがはかれるので,ヘッダファイルに追記.
 今回は画面にのせる予定の選択肢用ボタンUISegmentedControl と値を反映するテキストフィールド用の変数を用意しました.

IBOutlet UILabel *dpiSelectedLabel;
IBOutlet UISegmentedControl *dpisegmentField;
IBOutlet UILabel *sizeSelectedLabel;
IBOutlet UISegmentedControl *sizesegmentField;

3.同様に処理内容を.m ファイルに追記.
 今回は選択されたらその値をテキストに反映するだけのシンプルなものを作成しました.どれが選択されたのかを判定するのはUISegmentedControlのindexをみれば良いということは分かっています.そこで,じゃんけんゲームのチュートリアルを参考に,UISegmentedControlに変化が起きた(ValueChanged)時にイベントを受信して,そのときにどのindexが選択されているかを判定するようにしました.

4.受信用の関数をヘッダファイルに用意
 今回は解像度(dpi)の変更と読み取りサイズ(scanSize)の変更の二つを用意しました.

  • (IBAction)dpiUpdate:(id) sender;
  • (IBAction)sizeUpdate:(id) sender;

これで選択したものが表示されるようになりました.


ただ気になったことが一つ.
UISegmentedControlは横の伸縮は自由で,セグメントごとのサイズも自由に設定できるのですが,縦方向にのばすことが出来ません.
高さの設定は触れないようになっていました.画面デザインのガイドラインでもあるのでしょうか,,