2013-10-25 65 views
4

在我的表格視圖中,我設置標題標題。但它不可見, 我必須將視圖向下拖動才能看到,當我釋放它時,它會隱藏起來 並且只有行可見。我希望標題默認爲 。標題不可見在UITableView控制器

這裏的表視圖代表我使用:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    // Return the number of sections. 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 
    return [arrayUseCases count]; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 60; //row height 
} 

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { 

    return @"General Cases"; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"UseCasesCell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
    UIView *bgColorView = [[UIView alloc] init]; 
    // Configure the cell... 

    bgColorView.backgroundColor = [UIColor colorWithRed:90.0f/255.0f green:120.0f/255.0f blue:190.0f/255.0f alpha:1.0f]; 
    bgColorView.layer.masksToBounds = YES; 
    [cell setSelectedBackgroundView:bgColorView]; 

    NSString *rpcName = [self.arrayUseCases objectAtIndex:[indexPath row]]; 

    [[cell textLabel] setText:rpcName]; 
    [[cell textLabel] setFont:[UIFont fontWithName:@"ChalkBoard SE" size:18]]; 
    cell.textLabel.textColor = [UIColor colorWithRed:90.0f/255.0f green:120.0f/255.0f blue:190.0f/255.0f alpha:1.0f]; 


    return cell; 
} 

#pragma mark - Table view delegate 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(@"Clicked table view in GeneralUseCase View"); 
    UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

    [[self navigationController] pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"LogViewID"] animated:YES]; 

    NSIndexPath *index = [self.tableView indexPathForSelectedRow]; 

    dic = [[NSDictionary alloc] initWithObjectsAndKeys:index,@"Index", nil]; 

    [self performSelector:@selector(postUseCaseNotification) withObject:nil afterDelay:1.0]; 

    //to deselect the selected row when view comes back 
    [tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:NO]; 

    // [[NSNotificationCenter defaultCenter] postNotificationName:LogViewControllerGeneralUseCaseNotification object:self userInfo:dic]; 


} 
+0

相關的常見問題,你有沒有嘗試添加heightForHeaderInSection方法並返回高度?它在UITableViewDelegate下。 – TreeTree

+0

我試過了。添加它進一步隱藏可見的行。 我在tabview(2個選項卡)中使用了這兩個選項卡中的相同代碼。一個很好,沒有heightForHeaderInSection。 –

+0

好的。現在我給了返回值> 100。它很好:) 但我沒有這個代表在另一個tableview控制器,它顯示頭好。我不確定爲什麼?! –

回答

16

請添加這個方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return 100; 
} 
7

設置表視圖頭高度

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return 40; // What ever height you want. 
} 
3

你忘了實現此方法(的tableView:heightForHeader :) - 它返回標題的高度。否則返回0,這就是爲什麼它沒有呈現:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return 40; // or whatever height you want 
} 
+3

Sbarow的副本...... –

+0

@iOSDeveloper爲什麼回答的時間比我的晚?:) – maros

-3

This會幫助你找到的tableview頭不顯示

+0

您好,請添加更多信息,以便答案不會被投票關閉。 – Chaithanya