ios - 子类化 UITableViewCell 不显示添加的样式

标签 ios uitableview storyboard subclass subclassing

我正在尝试创建一个 UITableViewCell 的子类,它具有我的应用程序用于其多个 TableView 中每个单元格的自定义样式。我正在为 iOS 7.1 构建它。由于某种原因,在 initWithStyle 中设置样式似乎没有效果。

我的代码:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        [self.textLabel setTextColor:[UIColor redColor]];
        [self.contentView setBackgroundColor:[UIColor greenColor]];
    }
    return self;
}

在我的 Storyboard中,我将 UITableViewController 中的单元格类设置为 MYSubTableViewCell。我将表格 View 单元格样式设置为基本,我也将其设置为自定义,但没有效果。

MyTableViewController.m 中:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    MYSubTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
    return cell;
}

我需要具有预定义背景和文本的单元格,这是正确的方法吗?

最佳答案

问题是,当您的单元格从 Storyboard实例化时,单元格未使用 -(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 进行初始化。它是用 - (id)initWithCoder:(NSCoder *)aDecoder 初始化的。

你的初始化器永远不会被调用。您应该改写 initWithCoder:

关于ios - 子类化 UITableViewCell 不显示添加的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25111431/

相关文章:

ios - 如何停止播放歌曲和播放新歌曲

iOS5 将 .xib 分配给自定义 UIView 类

ios - 切换单元格的UITableView

ios - 在 Xcode 5.1.1 中打开 Storyboard后屏幕变黑

xcode4.2.1 - Storyboard - 导航 Controller - 标题栏颜色

ios - 无法创建用作带有通配符标识符的 iOS 应用程序配置文件的应用程序包 ID 的显式 AppID

iphone - 无效二进制 : Your binary is not optimized for iPhone 5 As of May 1

swift uitableview 仅显示用户数组的不同值

uitableview - tableview 单元格分隔线在使用 swift 2.0 的 ios 开发中不显示。代码7

ios - 纯代码、界面构建器和 Storyboard之间的区别