我已經使用這篇文章標題:Table Header Views in StoryBoards如何在使用Storyboard時將UITable標題粘到屏幕的頂部?
但我無法在滾動時使標題棒(修復)到屏幕的頂部。
這怎麼能實現?
P.S.表格式很簡單,當我厭倦了超載viewForHeaderInSection
和返回的標題視圖出口時,情況變得更糟。
在此先感謝!
我已經使用這篇文章標題:Table Header Views in StoryBoards如何在使用Storyboard時將UITable標題粘到屏幕的頂部?
但我無法在滾動時使標題棒(修復)到屏幕的頂部。
這怎麼能實現?
P.S.表格式很簡單,當我厭倦了超載viewForHeaderInSection
和返回的標題視圖出口時,情況變得更糟。
在此先感謝!
我能做到這一點(至少在iOS 6中)這個樣子,不知道爲什麼這個事情的作品:)
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(self.headerManualView == nil) {
//allocate the view if it doesn't exist yet
headerManualView = [[UIView alloc] init];
//create the button
UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(10, 3, 250, 44)];
//the button should be as big as a table view cell
txtField.borderStyle = UITextBorderStyleRoundedRect;
//set action of the button
//[txtField addTarget:self action:@selector(removeAction:) forControlEvents:UIControlEventTouchUpInside];
//add the button to the view
[headerManualView addSubview:txtField];
}
//return the view for the footer
return headerManualView;
}
這裏的,我認爲它可以使頭視圖粘在桌面(不是它的默認行爲)的代碼:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGRect rect = self.tableHeaderView.frame;
rect.origin.y = MIN(0, self.tableView.contentOffset.y);
self.tableHeaderView.frame = rect;
}
另一種方法是對第一節頭部視圖。您不能在viewForHeaderInSection
處使用任何子視圖,您必須返回尚未處於視圖層次結構中的視圖。該方法的優點是,節標題視圖被設計爲位於桌面上,缺點是您可能想要爲該節中的節標題,這會破壞解決方案。
我認爲在故事板中使用UIViewController而不是UITableViewController來實現這一點會更好。只需在視圖頂部放置一個標題,並在標題下放置一個UITableView。
你有沒有弄清楚如何用故事板做到這一點,而不是使代碼中的視圖? –
我想通了:http://stackoverflow.com/a/23717919/1438339 –