Ios UITableViewCell子类?
如果我正在子类化一个Ios UITableViewCell子类?,ios,uitableview,subclass,Ios,Uitableview,Subclass,如果我正在子类化一个UITableViewCell,写一个子类或者使用tableView:cellForRowAtIndexPath:方法并将我的子视图添加到默认的UITableViewCell contentView?我认为在子类化和将子视图添加到contentView之间进行选择取决于您对单元格的自定义程度。如果您只是想添加几个额外的子视图,那么第二种方法可能很好。如果您想为setSelected:animated:、setHighlighted:animated:、和setEditing:
UITableViewCell
,写一个子类或者使用tableView:cellForRowAtIndexPath:
方法并将我的子视图添加到默认的UITableViewCell contentView
?我认为在子类化和将子视图添加到contentView之间进行选择取决于您对单元格的自定义程度。如果您只是想添加几个额外的子视图,那么第二种方法可能很好。如果您想为setSelected:animated:、setHighlighted:animated:、和setEditing:animated:创建自定义动画,那么显然您必须创建子类。此主题包含在苹果的文档中:
此外,无论您使用何种技术自定义单元格,都会调用tableView:cellForRowAtIndexPath:。我认为在子类化和向contentView添加子视图之间进行选择取决于您想要自定义单元格的程度。如果您只是想添加几个额外的子视图,那么第二种方法可能很好。如果您想为setSelected:animated:、setHighlighted:animated:、和setEditing:animated:创建自定义动画,那么显然您必须创建子类。此主题包含在苹果的文档中: 此外,无论您使用何种技术自定义单元格,都会调用tableView:CellForRowatineXpath:。这取决于 如果不打算在任何其他表中重用该单元格,则可能需要在
UITableViewController
子类中对其进行自定义。但是,这仍然不是一个好的做法,因为您可能会在更多委托方法中进行更改,例如cellforrowatinexpath
或heightforrowatinexpath
如果要重用该单元格,应将其子类UITableViewCell
对于静态视图(列表中的一些众所周知的元素),使用许多不同的异构元素(如设置分组菜单),可以更容易(或更快)在UITableViewController
中进行自定义,而不是对许多不同样式的单元格进行子类化。这取决于
如果不打算在任何其他表中重用该单元格,则可能需要在UITableViewController
子类中对其进行自定义。但是,这仍然不是一个好的做法,因为您可能会在更多委托方法中进行更改,例如cellforrowatinexpath
或heightforrowatinexpath
如果要重用该单元格,应将其子类UITableViewCell
对于静态视图(列表中的一些和众所周知的元素),使用许多不同的异构元素(如设置分组菜单),在
UITableViewController
中进行自定义可以更容易(或更快),而不是对许多不同样式的单元格进行子类化。如果使用故事板,我认为定制的UITableViewCell
子类与cell原型结合使用是一种可行的方法。非常简单,让你不用自己创建控件,但是你有一个很好的cell子类,它封装了你的IBOutlet
引用;我养成了一个习惯,在.xib
上非常笼统地布局,然后在代码中构建自己的层次结构和自定义视图。这很公平。NIB要求您编写更多的代码。但如果那是你最舒适的环境,那就去吧!如果使用故事板,我认为将自定义的UITableViewCell
子类与单元原型结合使用是一种不错的选择。非常简单,让你不用自己创建控件,但是你有一个很好的cell子类,它封装了你的IBOutlet
引用;我养成了一个习惯,在.xib
上非常笼统地布局,然后在代码中构建自己的层次结构和自定义视图。这很公平。NIB要求您编写更多的代码。但如果那是你最舒适的环境,那就去吧!我正在写一个UIView
包含UITableView
,我正试图在右侧放置一个圆形的UIImageView
,在左侧放置一个UILabel
。我试图避免使用故事板,而只是使用tableView:cellforrowatinexpath:
方法将它们放入。看起来标准样式还不够,在这种情况下,您可能不需要子类化就可以轻松摆脱。已经有一个UILabel可用(textLabel),您可以将accessoryView设置为UIImageView。看看这里的accessoryView属性:我正在编写一个UIView
,其中包含一个UITableView
,我正在尝试在右侧放置一个圆形UIImageView
,在左侧放置一个UILabel
。我试图避免使用故事板,而只是使用tableView:cellforrowatinexpath:
方法将它们放入。看起来标准样式还不够,在这种情况下,您可能不需要子类化就可以轻松摆脱。已经有一个UILabel可用(textLabel),您可以将accessoryView设置为UIImageView。请在此处查看accessoryView属性: