0

たとえば、新しい値がイベント- (IBAction)sliderMoved:(id)senderを通じて「スライド」されると、何らかのタスクを実行する を呼び出す UISlider があります。Value Changedしかし、初期値に基づいて何かをしたい場合はどうすればよいでしょうか?

Interface Builder のデフォルト値に一致するように何かをハードコーディングすると、誰かが nib ファイルを変更した場合に、後でデバッグするのが難しくなります。では、Interface Builder でこの UISlider に設定されたデフォルト値にアクセスするにはどうすればよいでしょうか?

そして、より一般的に言えば、そのような UI 要素のこれらの属性にどのようにアクセスするのでしょうか? これらのセッター/ゲッター メソッドは既に合成されていますか?

4

2 に答える 2

1

ヘッダー ファイルでスライダーを IBOutlet として宣言し、IB でフックすることができます。その後、コードでそのすべてのプロパティにアクセスできるようになります。

于 2011-03-02T01:47:19.490 に答える
1

Maunil が言ったように、バインディングを使用して InterfaceBuilder の UISlider をコードの UISlider オブジェクトに接続します。これが完了すると、すべてのメソッドとプロパティにアクセスできます。

初期値を設定するには、UISlider の setValue: プロパティを次のように使用します。

- (void)viewDidLoad {
    ...
    // where mySlider is declared as a UISlider object and bound to your XIB slider
    [mySlider setValue:some_default_value];
    ...
}

詳細については、UISlider クラス リファレンスドキュメントを参照してください。

于 2011-03-02T01:57:31.950 に答える