3

私はこの iphone dev のことはかなり新しく、会社でいくつかの既存のコードに取り組んでいます。初期値を設定しようとしているuisliderは、実際にはUITableViewCellにあり、カスタムコントロールです。私はセルの初期化で考えていました

cell = (QuantitiesCell *)[self loadCellWithNibName:@"QuantitiesCell" forTableView:ltableView withStyle:UITableViewCellStyleDefault];

私はちょうどのようなものを呼び出すことができます

((QuantitiesCell *)cell).value = 5;

実際の QuantitiesCell クラスには、メンバー値と次の関数があります

-(void)initCell;{
    if (listOfValues == nil) {
        [self initListOfValues];
    }
    quantitiesSLider.maximumValue = [listOfValues count]-1;
    quantitiesSLider.minimumValue = 0;
    quantitiesSLider.value = self.value;
}

-(void)initListOfValues;{
    listOfValues = [[NSMutableArray alloc] initWithCapacity:10];
    int j =0;
    for (float i = minValue; i <= maxValue+increment; i=i+increment) {
        [listOfValues addObject:[NSNumber numberWithFloat: i]];
        if (i == value) {
            quantitiesSLider.value = j;
        }
        j++;
    }
}

私が言ったように、私はこれにかなり慣れていないので、何が助けになるかを示すためにさらにコードを投稿する必要がある場合は、お知らせください。

このスライダーは常に 1 にデフォルト設定されており、スライダーの範囲は通常 1 ~ 10 で、編集しようとしているアイテムの特定の値に設定したいと考えています。

4

2 に答える 2

9

リンクが正しい場合 (Interface Builder で接続を行っている場合)、slider.value を設定するのが正しい方法です。コードで UISlider を作成した場合は、value プロパティを設定するだけです。それが機能しない場合は、まずオブジェクトが「ライブ」であること (正しく割り当てられている、解放されていない、範囲外でないなど) を確認し、次に、slider.value を設定した関数が実際に呼び出されていることを確認します。

Interface Builder を使用していて、スライダーを として接続する方法がわからない場合はIBOutlet、iTunes University をチェックしてください。「CS193P」を検索して、スタンフォード大学の優れたビデオを見つけてください。最初のカップルでは、​​これらの接続を作成します。IB を使用していて、まだ接続していない場合、何も起こりません。

于 2010-05-21T01:35:39.843 に答える