如何在Swift中创建自定义UITableViewCell类?

大卫

我正在尝试遵循以下使用UITableView中的Auto Layout在Swift中动态单元格布局和可变行高的最佳答案,但对于IOS 7版本,它可以缓解IOS 8中的一些错误。

现在,我的自定义单元格类是:

class PostCell: UITableViewCell {

    @IBOutlet var name: UILabel!
    @IBOutlet var timestamp: UILabel!
    @IBOutlet var postBody: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

在我的情节提要中,我将自定义类设置为单元格的类。我不知道是否必须在任何地方使用我的复用标识符。我不知道如何在下一段代码中实现该功能。

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

    var cell = PostCell()

    var post = self.posts[indexPath.row]

    cell.name.text = post.name
    cell.timestamp.text = post.timestamp
    cell.postBody.text = post.body

    cell.setNeedsUpdateConstraints()
    cell.updateConstraintsIfNeeded()

    cell.bounds = CGRectMake(0.0, 0.0, CGRectGetWidth(feed.bounds), CGRectGetHeight(cell.bounds))

    cell.setNeedsLayout()
    cell.layoutIfNeeded()

    var height = cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height

    height += 1.0

    return height
}

我以为可以,但是当我打电话时cell.name.text = post.name,我得到了一个提示EXC_BAD_INSTRUCTION我猜该单元未正确连接到情节提要。我该如何解决?

马特

问题是您不了解笔尖的工作原理。您已设置要从笔尖加载PostCell的PostCell:

class PostCell: UITableViewCell {
    @IBOutlet var name: UILabel!
}

这样就意味着namenil-直到这个小区从笔尖,届时出口将被迷上了实例化。但是后来您说:

var cell = PostCell()

但是,是错误的PostCell!没有从笔尖加载它;而是从笔尖加载了它。你只是用整块布做成的。因此,由于没有笔尖加载,所以插座(如您所理所当然的)自然不会连接,所以cell.name没有连接nil

因此,解决办法是:不要使整个布的一出。从笔尖加载它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Swift中为自定义类创建相等性测试?

如何在Ember中创建自定义错误类?

如何在Java中创建自定义JButton类?

如何在Cloudmine中创建自定义登录类?

如何在Swift中创建自定义UIControlEvent?

如何在Swift 3中创建自定义通知?

如何在Swift中创建自定义细分控件

无法在连接的自定义UITableViewCell类中创建插座

Swift中的自定义UITableViewCell注册类

如何在 UITableViewCell 中居中自定义 CAShapeLayer?

如何创建uiimageview的自定义类-Swift

如何在React with Typescript中的类组件中创建类似于setState的自定义钩子

在自定义UITableViewCell类内创建一个UIImageView(Swift)

如何在Swift中的自定义类中初始化Timer?

如何在flutter中为自定义背景颜色创建全局类

如何在JavaScript中创建自定义名称空间或类

如何在Laravel中创建自定义数据检索类?

如何在symfony2中为自定义类创建服务容器

如何在颤动中为列表创建自定义类?我收到此错误屏幕

如何在Kotlin中使用自定义字体创建TextView的自定义类?

如何在 Swift 中增加自定义 UINavigationBar 类的高度

如何在Xcode + Swift 4中制作自定义UIBarButtonItem类?

如何使用Gremlin在OrientDB中创建自定义类

创建对象时如何在Swift中自定义ObjectId

如何在Swift中为Dictionary创建自定义扩展?

如何在Swift中为UIViewController子类创建自定义初始化程序?

如何在 Swift 中创建像 .maps() 或 .filter() 这样的自定义高阶函数

如何在Swift 3.0中使用自定义UI创建标签栏

如何在自定义uiView Swift中以编程方式创建UIlabel