0

各セグメント化されたコントロール ボタンが選択されたときに変数の値を変更するセグメント化されたコントロールがあります。たとえば、ボタン 0 が選択されている場合は変数に「1000」が割り当てられ、ボタン 1 が選択されている場合は変数に値「2000」が割り当てられます。

-(IBAction)segmentbutton1:(id)sender {

    if (segmentController1.selectedSegmentIndex == 0) {
        settingVar1 = 1000;
    }
    if (segmentController1.selectedSegmentIndex == 1) {
        settingVar1 = 2000;
    }
    if (segmentController1.selectedSegmentIndex == 2) {
        settingVar1 = 3000;
    }
}

.m ファイルに変数「settingVar1」を合成しました

@interface ViewController ()
@end
@synthesize settingVar1;

.h ファイルで宣言しました。

@interface ViewController : UIViewController {

    int settingVar1;

また、.h ファイルにも変数プロパティを作成しました。

@property (nonatomic)int settingVar1;

変更する必要があるものはありますか? 他のコードを見る必要がある場合は、お知らせください。与えられたアドバイスを事前に感謝します。

4

3 に答える 3

0

私はそれを考え出した。私の .xib ファイル (属性セレクター タブ) では、セグメント コントローラーの最初のボタンがデフォルトで「選択」されていたので、アプリをテストしたときに、感銘を受けたボタンが価値があります。ボタンをクリックする必要があるセグメントコントロールから「選択済み」オプションを削除すると、式が機能しました。私に助けを提供してくれたすべての人に感謝します。

于 2013-06-23T16:06:58.070 に答える
0

次のようにしてください。

- (void) viewDidLoad
{
    [segmentController1 addTarget: self
                           action: @selector(segmentbutton1:)
                 forControlEvents: UIControlEventValueChanged];
}

- (IBAction) segmentbutton1: (id)sender 
{
    if (segmentController1.selectedSegmentIndex == 0) {
        settingVar1 = 1000;
    }
    if (segmentController1.selectedSegmentIndex == 1) {
        settingVar1 = 2000;
    }
    if (segmentController1.selectedSegmentIndex == 2) {
        settingVar1 = 3000;
    }
}
于 2013-06-23T05:14:17.607 に答える
0

このリンクからヘルプを得ることができます:ここにリンクの説明を入力してください

xibアクション メソッドがファイル内でに関連付けられているかどうかを確認してくださいUISegmentedControl。値を変更するより良い方法。あなたはこれを使うべきです

-(IBAction) segmentbutton1: (id)sender 
{
        settingVar1 = (segmentController1.selectedSegmentIndex + 1) * 1000;

}
于 2013-06-23T06:05:57.367 に答える