2011-07-12 7 views
7

私はUISegmentedControlを自分のXIBファイルに配置しました。基本的には、コントロールの2番目のタブがタップされている(別名セグメント1、最初のセグメントはセグメント0)、私はテキストフィールドを再表示したい。私はテキストフィールドを再表示する方法を知っていますが、ユーザーがタップしたセグメント化されたコントロールのどの部分を検出するのですか?UISegmentedControlのタップセグメントの検出

[textField setHidden:NO]; 

答えて

11

セグメント化されたコントロールselectedSegmentIndexをチェックするビューコントローラ内のメソッドに、セグメントコントロールvalueChangedのアクションをIBでフックアップする必要があります。

3

あなたがコントロールイベントUIControlEventValueChangedのターゲット・アクションを追加し、セグメント化されたコントロールのselectedSegmentIndexをチェックする必要があります。

1の場合は、テキストフィールドを非表示にします。

21

以下のようなIBActionを作成し、それをInterface BuilderのvalueChangedアクションに接続します。

- (IBAction)segmentedControlChanged:(id)sender 
{ 
    UISegmentedControl *s = (UISegmentedControl *)sender; 

    if (s.selectedSegmentIndex == 1) 
    { 
     [countTextField setHidden:NO]; 
    } 
} 
関連する問題