.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.04 2009

自動リセットスライダの作成

Tasaki です。

今回は、ロック画面でおなじみの、右端までつまみを移動しないと自動的に左端までつまみが戻るスライダの作り方をご紹介します。

スライダの初期化時に設定しておくのはこれらの項目です。
・最小値(左端)
・最大値(右端)
・現在の値(つまみの表示位置)
・continuous フラグ
・アクションメソッド

このうち、今回のテーマで重要となるのが continuous フラグとアクションメソッドです。
アクションメソッドは、今回スライダの値が変化したら呼び出すようにします。
そこで、現在の値が最大値と等しいかどうかを判定します。
continuous フラグは、このアクションメソッドの呼び出し条件に関与するもので、デフォルトでは YES に設定されています。
YES の場合は、つまみから手を放していなくとも値が変更されれば、その都度アクションメソッドが呼び出されることになります。
今回のケースでは、それだと困るので NO にしておきます。

以下にサンプルコードを示します。
- ( UISlider *) createAutoResetSlider:( CGRect ) frame {
UISlider *slider = [[ UISlider alloc ] initWithFrame: frame ];
if( slider == nil ) {
  return nil;
 }
 [ slider setMinimumValue: 0.0f ];
 [ slider setMaximumValue: 1.0f ];
 [ slider setValue: 0.0f ];
 [ slider setContinuous: NO ];
 [ slider addTarget: self action: @selector( sliderValueChanged: ) forControlEvents: UIControlEventValueChanged ];
return slider;
}

- ( void ) sliderValueChanged:( UISlider *) slider {
if([ slider value ] < [ slider maximumValue ]) {
  [ slider setValue:[ slider minimumValue ] animated: YES ];
 } else {
  // 最大値まで移動していた場合の処理
 }
}

ただ、みなさんご承知の通り標準のスライダは非常につまみにくいんですよね。
そこで、次回はカスタムスライダの作成法を解説しようと思います。


関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/68-bc253166

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。