Objective c 构建自定义UITableViewCell的正确方法
我一直在想Objective c 构建自定义UITableViewCell的正确方法,objective-c,ios,uitableview,subclass,Objective C,Ios,Uitableview,Subclass,我一直在想UITableView及其单元格有一段时间了UITableView是一个非常方便的UIView子类,但是在UITableViewCell上有许多预先确定/强制的内容。我想知道为UITableView创建自定义UIView(最终将成为UITableViewCell)的最佳方法是什么 单元格具有必须设置的特定样式,并且除了其内容之外,还有预定的UILabels和附件视图是完全不可变的。我发现这是一个很大的浪费,但仅仅给单元格一个自定义内容视图(和背景视图,如果愿意的话)并不能阻止或删除这些
UITableView
及其单元格有一段时间了UITableView
是一个非常方便的UIView子类,但是在UITableViewCell
上有许多预先确定/强制的内容。我想知道为UITableView
创建自定义UIView
(最终将成为UITableViewCell
)的最佳方法是什么
单元格具有必须设置的特定样式,并且除了其内容之外,还有预定的UILabel
s和附件视图是完全不可变的。我发现这是一个很大的浪费,但仅仅给单元格一个自定义内容视图(和背景视图,如果愿意的话)并不能阻止或删除这些进程或恢复内存
有没有办法创建一个更轻版本的UITableViewCell
子类?或者有没有一种方法可以将UIView与选择方法一起使用(而不是使用UIScrollView
创建自定义的UITableView
)
任何建议都将不胜感激。有几种方法: 从XIB文件:
- (第4和第5个示例)
- 似乎没有答案。UITableViewCells将始终自动添加UILabel和其他视图。不过,我不确定在设置它们之前它们是否已分配。它们可能有自定义的设置/分配方法。UITableView是一个UIScrollView子类,而不是UIView子类。@max_uu和UIScrollView是UIView的子类,所以我从UITableView往下走了两层。是的,没错。但是UITableView不是UIView的子类。子类是继承其超类并向其添加更多内容的类,因此虽然它不是UIView的直接子类,但它仍然是UIView的间接子类。标签和附件是属性。这意味着它们总是可以访问的。访问textLabel和detailsTextLabel并设置文本将立即设置文本,而无需在我的部件上分配或设置任何帧。这要么意味着标签是预设/预分配的,要么它们有自定义的setText函数,如果它们以前没有分配(因为我确信苹果不会在以前的分配之上重新分配)。很容易验证
UITableViewCell
是否在调试程序中用几分钟时间进行延迟加载。您可以将任何内容添加到contentView
,或子类并添加任何其他属性,并且textLabel
引用的标签仍然不会被分配。因此,你的问题的正确答案是“不要使用你不需要的东西。”