3 つのセクションを持つ静的セルと 2 つのボタンを持つセグメント化されたコントロールを持つ UITableViewController があります。次の動作を実現したいと思います。
- ボタン 1 が押されたときセクション 2 を隠す
- ボタン 2 を押すとセクション 3 が表示されます
これに対する解決策が見つかりません。どんなヒントも役に立ちます。ありがとう。
3 つのセクションを持つ静的セルと 2 つのボタンを持つセグメント化されたコントロールを持つ UITableViewController があります。次の動作を実現したいと思います。
これに対する解決策が見つかりません。どんなヒントも役に立ちます。ありがとう。
シンプルです。UITableViewDelegate を設定していることを確認してください。heightForRowAtIndexPath: (およびヘッダーとフッターについても同様) を使用して、セルの高さを 0 に設定することでセルを表示/非表示にできます。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 2) {
if (self.shouldShowSection2) {
return 44.0f;
}else{
return 0.0f;
}
}else if (indexPath.section == 3) {
if (self.shouldShowSection3) {
return 44.0f;
}else{
return 0.0f;
}
}else{
return 44.0f;
}
}
次に、IBAction 内にいくつかのロジックを定義して、これらの BOOL をテーブルビューの開始/終了更新の間に変更するだけで、テーブルは必要なセクションを表示/非表示にします。
- (IBAction)toggleSegment:(UISegmentedControl *)sender
{
[self.tableView beginUpdates];
// change boolean conditions for what to show/hide
[self.tableView endUpdates];
}