gpt4 book ai didi

iphone - 在哪里构建自定义 UITableViewCell : in layoutSubviews or initWithStyle:reuseIdentifier?

转载 作者:行者123 更新时间:2023-12-01 17:41:29 25 4
gpt4 key购买 nike

据我了解,似乎有三种布局自定义表格 View 单元格的方法:

  • 在界面生成器中。
  • layoutSubviews .
  • initWithStyle:reuseIdentifier: .

  • 第二种方法和第三种方法有什么区别?另外,为什么不 drawRect ?

    附言我正在关注本书的第 9 章 Pro iOS Table Views by Tim Duckett ,我们正在构建自定义 UITableViewCell s。作者展示了如何以与上面相同的顺序布置单元格,但我不知道最后两个之间有什么区别,因为它们都取消了 IB。不过,我注意到作者只是在 layoutSubviews 中设置了框架。与 initWithStyle:reuseIdentifier: 不同其中设置了与 View 外观有关的属性(例如,背景图像、背景颜色等)。

    最佳答案

    您应该在

    - initWithStyle: (UITableViewCellStyle) style reuseIdentifier: (NSString*) resueIdentifier

    并将它们布局在 layoutSubviews 中。 -initWithStyle:reuseIdentifier方法将在初始化时调用一次,但此时您的单元格可能有不正确的帧。

    这就是为什么你需要在 layoutSubviews 中布局它方法,当单元格需要更新布局时调用它,例如,当发生自动旋转时。因此,如果您将在此方法中布局 subview ,您将拥有有效的单元格框架和正确的 subview 布局。

    关于iphone - 在哪里构建自定义 UITableViewCell : in layoutSubviews or initWithStyle:reuseIdentifier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964817/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com