0

私は感情注釈アプリケーションに取り組んでいる初心者です。「幸せ」、「怒り」などのいくつかのボタンがあります...すべてのボタンは同じアクションを呼び出します。そして、UISliderがあります。「幸せ」をクリックすると、スライダーを調整して、現在の幸せ度に注釈を付けます。その後、ボタン「angry」をクリックすると、スライダーの現在の値が、「happy」のように、最後のボタンを基準にしたfloat変数に格納されます。次に、同じスライダーを調整して、自分がどれだけ「怒っている」かを注釈します。そして次のボタン....最後のボタンのスライダー値を保存する方法がわかりません...何かアイデアはありますか?どうもありがとうございます!!

4

1 に答える 1

1

これにアプローチする方法はたくさんあります。最も簡単な解決策の 1 つは、ボタンにタグを付けてから、メソッドを使用してアクションがどのボタンから来たのかを特定し、スライダーの値を含むディクショナリ オブジェクトを設定し、それに応じてストロング配列に書き込むことです。

MainViewController.h

int emotionNumber
@property (strong, nonatomic) NSMutableArray *array;
//Declare your slider and buttons

MainViewController.m

@implementation
@synthesise array;

- (void)viewDidLoad {
[happyButton setTag:0];
[angryButton setTag:1];

array = [[NSMutableArray alloc] initWithCapacity:X]; <---- number of emotions
}

- (IBAction)setValue:(id)sender {

    // You will also want to keep track of emotionNumber (the int) here, and modify the
    //code below to write it to the correct place in the array.

    NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
    UIButton *button = (UIButton *)sender;

    switch (button.tag) {
        case 0:
            [dictionary setValue:slider.value forKey:@"angry"];
            [array addObject:dictionary];
            break;

        case 1:
            [dictionary setValue:slider.value forKey:@"happy"];
            [array addObject:dictionary];
            break;

        default:
            break;
    }

}
于 2012-11-25T00:29:09.317 に答える