if (indexPath.row == 2)
{
RestaurantTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RestaurantCell"];
if (!cell)
{
[tableView registerNib:[UINib nibWithNibName:@"RestaurantCell" bundle:nil] forCellReuseIdentifier:@"RestaurantCell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"RestaurantCell"];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = cell.gradientView.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor clearColor] CGColor], (id)[[UIColor blackColor]CGColor], nil];
[cell.gradientView.layer insertSublayer:gradient atIndex:0];
cell.gradientView.alpha = 0.9;
}
NSData *imgData2 = [NSData dataWithData:restaurantPhotoArray[1]];
cell.restaurant2Photo.image = [UIImage imageWithData:imgData2];
cell.restaurant2Photo.contentMode = UIViewContentModeScaleAspectFill;
[cell.restaurant2Photo setClipsToBounds:YES];
NSDictionary *morning2 = [[NSDictionary alloc]initWithDictionary:NorthRestaurantsArray[1]];
cell.restaurant2Name.text = morning2[@"name"];
cell.restaurant2Name.numberOfLines = 0;
[cell.restaurant2Name sizeToFit];
}
我有一個自定義的單元格,使用上面的代碼在cellForRowAtIndexPath中實現。在顯示錶格時,restaurant2Photo顯示指定的圖像,正確的文本設置爲restaurant2Name,但sizeToFit對標籤沒有影響,因此它的大小保持不變,如.xib文件中所定義。我有另一個自定義單元格顯示在indexPath 0和1,其中sizeToFit工作正常,但是當它到達indexPath 2和RestaurantTableViewCell sizeToFit不起作用。有人能夠提出爲什麼會發生這種情況嗎?感謝提前任何幫助:)無法更改自定義UITableViewCell中的UILabel的大小
您在Indexpath 0&1加載的單元是否構建在XIB中? – itsji10dra
是的,與indexPath 2完全相同 – RodMatveev
你是否檢查過contentView的超級視圖有0 px尾部邊距和0 px底部邊距? –