コントロールいろいろ。

Text Field

http://sumi.riise.hiroshima-u.ac.jp/skitch/control-20100707-223454.png

  • クラス: UITextField
    IBOutlet UITextField *myText;
  • プロパティ
    • text - 入力されたテキスト
    • placeholder - 何もないときにグレーで表示される文字
  • メソッド
    • endEditing:(BOOL)force - forceにNOとして送ると、キーボードをしまう。UIView のプロパティで元はfirst responder 状態にする/終了する意味。
  • Interface Builder で設定する項目
    • Clear Button - 入力欄右端に表示されるバツ
    • Clear When Editing Begins - 入力欄をタップすると以前の文字が消える
    • Keyboard - 数字だけのキーボードにするなど
  • // 整数として取得
    int c=[myText.text intValue];
    // 浮動小数点数として取得
    double d = [myText.float doubleValue];
    // 計算した値を文字列にして設定
    myText.text = [NSString stringWithFormat:@"%d",c];

Segmented Control

http://sumi.riise.hiroshima-u.ac.jp/skitch/control-20100707-232327.png

  • クラス:UISegmentedControl
    IBOutlet UISegmentedCtontrol *mySeg;
  • プロパティ
    • numberOfSegments - セグメントの数
    • selectedSegmentIndex - 選択されているセグメント
  • メソッド
    • titleForSegmentAtIndex: - セグメントのラベルを取得
    • setTitle:forSegmentAtIndex: - セグメントのラベルを設定
    • insertSegmentWithTitle:atIndex:animated - セグメントを追加
    • removeSegmentAtIndex:animated: - セグメントを削除

Slider

http://sumi.riise.hiroshima-u.ac.jp/skitch/control-20100707-234932.png

  • クラス:UISlider
    IBOutlet UISlider *mySlider;
  • プロパティ
    • value - 値を取得
    • minimumValue - 最小値
    • maximumValue - 最大値
    • continuous - ノブを動かしている間、update イベントを action メソッドに送信しつづける (IBで設定できる)
  • メソッド
    • setValue:animated: - 値を設定

Switch

http://sumi.riise.hiroshima-u.ac.jp/skitch/control-20100708-001953.png

  • クラス:UISwitch
    IBOutlet UISwitch *mySwitch;
  • プロパティ
    • on - 状態
  • メソッド
    • setOn:animated:

課題

消費税計算機を作ってみよう。

http://sumi.riise.hiroshima-u.ac.jp/skitch/ios-20110616-122212.png

金額を入力し、「計算」をタップすると税額と税込金額を表示する。税率を切り替えられる。

  • ステップ1: ボタンをタップしたら、ラベルを書き換える
  • ステップ2: テキストフィールドを配置し、ボタンをタップしたらその値でラベルを書き換える
  • ステップ3: メンバ変数として税率を用意し、ボタンをタップしたらテキストフィールドの金額から税金等を計算してラベルを書き換える
  • ステップ4:税率を変えられるようにする
  • ステップ5:整形、飾り付けを行う

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-06-16 (木) 12:31:00 (2253d)