Avijit Das
Avijit Das

Reputation: 300

How to remove gap before first row of UITableView in IOS 7

In my UIViewController I have dragged a UITableView which has 2 custom Prototype Cells. Basically Its a accordion. When I am loading data on it there always a gap coming between my table view starting position and first row. when I scroll down Its working fine.I have searched in google and find couple of suggestion like

put

 self.automaticallyAdjustsScrollViewInsets = YES;

In viewDidLoad OR add This below code in

UIEdgeInsets insets = UIEdgeInsetsMake(self.topLayoutGuide.length,
                                       0.0,
                                       self.bottomLayoutGuide.length,
                                       0.0);
_detailsTableView.contentInset = insets;

or

 YouStoryboard.storyboard > YouViewController > Attributes inspector > Uncheck - Adjust scroll view insets

But none of this worked for me. Here is my UITableView screenshot. Please suggest that how I can remove this gap marked in red.

enter image description here

After fixing this issue UITableView should looks like

enter image description here

Inspector Image 1

enter image description here

Upvotes: 1

Views: 1125

Answers (2)

user2589455
user2589455

Reputation:

I think the space you are trying to get rid of is the header. Use the tableview delegate to set the header on section 0 to a height of 0.

tableView:heightForHeaderInSection

Upvotes: 0

Mischa
Mischa

Reputation: 17269

Try implementing this method:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    CGFloat height = UITableViewAutomaticDimension;
    if (section == 0) {
        height = 0.5f;
    }
    return height;
}

This will remove the spacing for the first section header. If you want to remove all spacings between sections you can always return 0.5f. Such an odd value is needed because Apple does not allow you to return 0 in this method. (That would have the same effect as not implementing the method at all.) But the value 0.5f will have the desired effect.

Upvotes: 1

Related Questions