ビューコントローラー、テーブルビュー(3つのセクション)、3つのボタンを用意する予定です。ボタン1をテーブルビューとテーブルビューの上部(正確にはセクション1の上)に配置できるかどうかわかりません。ボタン2はセクション2の上にあり、ボタン3はセクション3の上にあります。 。
また、人々が下にスクロールしたときに、ボタン2に出会うまでボタン1が上になり、ボタン2が上になり、ボタン3に出会うと、ボタン3が上になります。
私がやりたいことをするのを手伝ってくれませんか。
ビューコントローラー、テーブルビュー(3つのセクション)、3つのボタンを用意する予定です。ボタン1をテーブルビューとテーブルビューの上部(正確にはセクション1の上)に配置できるかどうかわかりません。ボタン2はセクション2の上にあり、ボタン3はセクション3の上にあります。 。
また、人々が下にスクロールしたときに、ボタン2に出会うまでボタン1が上になり、ボタン2が上になり、ボタン3に出会うと、ボタン3が上になります。
私がやりたいことをするのを手伝ってくれませんか。
これがあなたの目的のために働くかもしれない例です。に、これもあなたUITableViewController
のはずですがUITableViewDelegate
、次のコードを実装します。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIButton *button = nil;
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, HEADER_HEIGHT)];
switch (section) {
case 0:
button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON1_WIDTH, HEADER_HEIGHT)];
[button addTarget:self action:@selector(SELECTOR1) forControlEvents:UIControlEventTouchUpInside];
// do some more things
break;
case 1:
button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON2_WIDTH, HEADER_HEIGHT)];
[button addTarget:self action:@selector(SELECTOR2) forControlEvents:UIControlEventTouchUpInside];
// do some more things
break;
case 2:
button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON3_WIDTH, HEADER_HEIGHT)];
[button addTarget:self action:@selector(SELECTOR3) forControlEvents:UIControlEventTouchUpInside];
// do some more things
break;
default:
// do default things
break;
}
[headerView addSubview:button];
return headerView;
}
そして、これを実装することを忘れないでください:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return HEADER_HEIGHT;
}
bringSubviewToFront:メソッドを使用し、viewDidLoadメソッドに次のコードを記述します。
[self.view bringSubviewToFront:yourButton];
お役に立てればと思います。