0

を使用NSLevelIndicatorしてアプリの評価を管理したいのですが、クリックを検出して評価を更新する方法がわかりません。

これはコードです。プロパティrateは.hファイルに作成され、IBで正しくリンクされたIBOutletです。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{

    NSLevelIndicatorCell *cell = [[NSLevelIndicatorCell alloc] initWithLevelIndicatorStyle:NSRatingLevelIndicatorStyle];

    [cell setMinValue:0.0];
    [cell setMaxValue:5.0];

    [cell setFloatValue:3.0];

    [cell setTarget:self];

    [cell setAction:@selector(click:)];

    [self.rate setCell:cell];


}

- (IBAction)click:(id)sender
{

    //How to detect change in rating here???

}

4

2 に答える 2

1

同じ「問題」を持つ他の人のために解決策を投稿します。

ユーザーインタラクションが機能しない理由は、を呼び出す必要があるためです[cell setEnabled:YES]。おそらく、このプロパティはNOデフォルトで設定されています。

于 2013-03-25T19:55:33.450 に答える
0

たぶんこれは間違いですが、setEnabled:は問題を解決しませんが、setEditable:は解決します。

于 2014-10-16T14:05:12.787 に答える