0

テーブルビュー内でセグメント化されたコントロールを操作しようとしています。ユーザーがアイテムを選択すると、スピナーを表示したいのですが、いくつかの情報が Web サービスに投稿されます。

私が抱えている問題は次のとおりです。デリゲートを追加して、参照されているセグメント化されたコントロールにアクセスして、アルファまたは可視性を NO に設定するにはどうすればよいですか? また、これのベストプラクティスは何ですか。タグがあることは知っていますが、この種の状況でタグがどのように機能するかはわかりません。

NSArray * segmentItems= [NSArray arrayWithObjects: @"one", @"two", @"three", @"four", @"five", nil];
UISegmentedControl *segmentedControl= [[[UISegmentedControl alloc] initWithItems: segmentItems] retain];
segmentedControl.segmentedControlStyle= UISegmentedControlStyleBar;
segmentedControl.selectedSegmentIndex= -1;

[segmentedControl addTarget: self action: @selector(onSegmentedControlChanged:) forControlEvents: UIControlEventValueChanged];
segmentedControl.frame  = CGRectMake(2, 0, 300, 30);
segmentedControl.tintColor= [UIColor grayColor];

これが私の代理人です

 - (IBAction)onSegmentedControlChanged:(id)sender
{
    int clickedSegment= [sender selectedSegment];
}

可視性をオフに設定できるように、送信者から UISegmentedControl にアクセスするにはどうすればよいですか? セルと SegmentedControl への参照を取得する方法を理解する必要がありますか?

4

1 に答える 1

0

セグメント化されたコントロールでセルを作成/返すときは、セルをテーブルに返す前にデリゲート オブジェクトを設定します。

編集:

すみません、質問を読み違えました。senderデリゲート メソッドに渡されるのは、識別する必要がある実際の UISegmentedControl インスタンスです。デリゲート メソッド内で、ジェネリックsenderを UISegmentedControl` にキャストし、必要に応じてその属性を設定します。

選択されたテーブルの行は、テーブルビューの選択メソッドに渡されます。

于 2010-06-14T16:22:15.287 に答える