Search code examples
objective-cuitableviewios8heightforrowatindexpath

iOS8 - constraints ambiguously suggest a height of zero


Has anyone got any idea how to debug this?

Warning once only: Detected a case where constraints ambiguously suggest a height of zero for a tableview cell's content view. We're considering the collapse unintentional and using standard height instead.

The rows have a fixed height as set by

- (CGFloat)tableView:(UITableView *)tableView 
           heightForRowAtIndexPath:(NSIndexPath *)indexPath{
   return 34.0;
}

And all the constraints seem to be happy...


Solution

  • Forcing a return height and estimated height made the warning disappear in my case.

    - (CGFloat)tableView:(UITableView *)tableView 
               estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
        return 44;
    }
    
    - (CGFloat)tableView:(UITableView *)tableView 
               heightForRowAtIndexPath:(NSIndexPath *)indexPath {
        return 44;
    }
    

    Another solution where you don't need the two overrides is simply to use self.tableView.rowHeight = 44; in your loadView or init method.