1

SegmentControl がテーブル ビューでスクロールしない問題を解決しました。次のように、テーブル ビューにコントロールを埋め込むことでこれを行いました。

UIView *headerView = [[UIView alloc] init ];
        [headerView addSubview:resultsSegment];
        self.tableView.tableHeaderView = headerView;

これはうまく機能します......

しかし、今はセグメント コントロールをクリックできません。埋め込まれているということは、ユーザーのタッチに関する限り、本質的に TableView の背後にあるということですか?

SegmentControl を再び「クリック可能」にする方法についてのアイデアはありますか?

ありがとう

4

2 に答える 2

1

セグメント コントロールは、tableView の背後にはありません。それはtableViewにあります。

segmentControl を再びクリック可能にするには、すべての segmentControl プロパティを設定する必要があります。これは、Web からのコード例です。

NSArray *itemArray = [NSArray arrayWithObjects: @"One", @"Two", @"Three", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(35, 200, 250, 50);
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
segmentedControl.selectedSegmentIndex = 1;
[segmentedControl addTarget:self
                     action:@selector(pickOne:)
           forControlEvents:UIControlEventValueChanged];
[self.view addSubview:segmentedControl];
于 2013-02-16T23:47:42.847 に答える
1

@eddieiosのおかげで、元の回答で引用したコードのほとんどを削除することで、問題を解決しました。

ストーリーボードと属性インスペクターを使用してほとんどのパラメーターを設定すると、これが機能するコードであることがわかりました。

   resultsSegment.frame = CGRectMake(50, 100, 250, 40);
   [self.tableView addSubview:resultsSegment];

最初の行は単純にセグメントコントローラーのサイズを大きくし、2 行目はスクロールしてセグメントコントローラーを同じ位置に保つだけでなく、使用することもできます!

于 2013-02-17T01:59:50.873 に答える