我打算有一個視圖控制器,一個表視圖(3個部分)和3個按鈕。我不知道是否可以將按鈕1放置在桌面視圖和桌面視圖頂部(正好在第1部分頂部),按鈕2在第2部分頂部,按鈕3在第3部分頂部將UIButton放在UIView的頂部
而且我還希望當人們向下滾動時,按鈕1仍然在頂部,直到它遇到按鈕2→按鈕2將在頂部,當它與按鈕3相遇時,按鈕3將在頂部。
你能幫我做我想做的嗎?
我打算有一個視圖控制器,一個表視圖(3個部分)和3個按鈕。我不知道是否可以將按鈕1放置在桌面視圖和桌面視圖頂部(正好在第1部分頂部),按鈕2在第2部分頂部,按鈕3在第3部分頂部將UIButton放在UIView的頂部
而且我還希望當人們向下滾動時,按鈕1仍然在頂部,直到它遇到按鈕2→按鈕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;
}
非常感謝。如果我卡住了,我會嘗試你的解決方案並回來。 – jackiviet 2013-03-02 16:26:50
不客氣。 – warchimede 2013-03-02 16:35:25
使用bringSubviewToFront:方法,並在viewDidLoad方法中寫入以下代碼。
[self.view bringSubviewToFront:yourButton];
我認爲這會對您有所幫助。
我編輯過。對不起,我錯了。先謝謝你。 – jackiviet 2013-03-02 14:36:48
修復呢?我沒有看到任何半工作代碼。 – 2013-03-02 14:01:44
我編輯過。先謝謝你。 – jackiviet 2013-03-02 14:36:04
你是什麼意思與「頂部」?你試過什麼了? – 2013-03-02 14:54:39