Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableViewCell子类?_Ios_Uitableview_Subclass - Fatal编程技术网

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属性: