UITableview Cell exception - 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES

匿名 (未验证) 提交于 2019-12-03 01:38:01

问题:

I am using the UITableView.

 CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierLink]; 

This is the line I am getting the error. It is working in IOS 7. But when I run the application in IOS 8 I am getting the error

** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES. 

EDIT

Full code

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{     static NSString *CellIdentifierImageLink = @"NewsImageAndLink";     static NSString *CellIdentifierImage = @"NewsImage";     static NSString *CellIdentifierLink = @"NewsLink";     static NSString *CellIdentifier = @"NewsDescription";      NSString *image=[[_news objectAtIndex:indexPath.row] valueForKey:@"imageURL"];     NSString *link=[[_news objectAtIndex:indexPath.row] valueForKey:@"link"];     NSString *description=[[_news objectAtIndex:indexPath.row] valueForKey:@"description"];     NSString *date=[[_news objectAtIndex:indexPath.row] valueForKey:@"date"];     NSString *title=[[_news objectAtIndex:indexPath.row] valueForKey:@"title"];      NSMutableString *html = [NSMutableString stringWithString: @""];      //continue building the string     [html appendString:@"<html><body>"];     [html appendString:description];     [html appendString:@"</body></html>"];       SDWebImageManager *manager = [SDWebImageManager sharedManager];      if (image !=(NSString *)[NSNull null] && link !=(NSString *)[NSNull null]) {          CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierImageLink];         cell.lblHeading.text=title;          NSURL *url = [NSURL URLWithString:image];          [manager downloadImageWithURL:url options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {          } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {              cell.newsImage.image = image;          }];          if (date !=(NSString *)[NSNull null] ) {             cell.lblDate.text=date;         }          //pass the string to the webview         [cell.webView loadHTMLString:[html description] baseURL:nil];          cell.lblLink.text=link;           return cell;     }     else if (image !=(NSString *)[NSNull null] && link==(NSString *)[NSNull null]) {          CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierImage];           cell.lblHeading.text=title;          NSURL *url = [NSURL URLWithString:image];          [manager downloadImageWithURL:url options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {          } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {              cell.newsImage.image = image;          }];           if (date !=(NSString *)[NSNull null] ) {             cell.lblDate.text=date;         }          [cell.webView loadHTMLString:[html description] baseURL:nil];          return cell;      }     else if (image ==(NSString *)[NSNull null] && link!=(NSString *)[NSNull null]) {          CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierLink];          cell.lblHeading.text=title;          if (date !=(NSString *)[NSNull null] ) {             cell.lblDate.text=date;         }         //cell.txtDescription.text=description;         //pass the string to the webview         [cell.webView loadHTMLString:[html description] baseURL:nil];         cell.lblLink.text=link;         return cell;      }     else if (image ==(NSString *)[NSNull null] && link==(NSString *)[NSNull null]) {         CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];         cell.lblHeading.text=title;          if (date !=(NSString *)[NSNull null] ) {             cell.lblDate.text=date;         }         //cell.txtDescription.text=description;         //pass the string to the webview         [cell.webView loadHTMLString:[html description] baseURL:nil];          return cell;      }     return nil;  } 

回答1:

Check out the answer here: why do i get "Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES" in xcode 6 beta

This solved it for me temporarily.



回答2:

I've seen this happen with constraints. Try running the code with constraints deleted, and re-adding them one by one.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!