ios - 无法更改自定义 UITableViewCell 中 UILabel 的大小

标签 ios objective-c uitableview

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 时不起作用。有谁能提出为什么会发生这种情况?提前感谢您的帮助:)

最佳答案

可能您的 nib 文件启用了 AutoLayout

在您的自定义单元格 awakeFromNib: 方法中编写以下内容

[self.restaurant2Name setTranslatesAutoresizingMaskIntoConstraints:YES];

这将为您完成这项工作。

关于ios - 无法更改自定义 UITableViewCell 中 UILabel 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473633/

相关文章:

ios - 在 UITabBar 的每个 UINavigationController 中重新加载所有 UIViewController

iphone - 导航 Controller : pushViewController

android - 移动应用——在后端存储和版本化相对静态的json文件

ios - 如何从 NSdata 创建 AudioBuffer/Audio

objective-c - 检索并更改 touchUpInside 更改为 touchUpOutside 的点

ios - 如何停止将选择状态转发到嵌入式 tableViewController?

iphone - 以编程方式修改从 Nib 初始化的 UITableViewCell?

ios - 数据应该驻留在 watchOS 应用程序的什么位置?

ios - 目标 Action 被调用两次

ios - 自定义 UITableViewCell prepareForReuse 未按预期工作