我想在iOS应用程序的UITableViewCell
中同时设置accessoryType
和accessortyView
,以便让我的用户看到每个单元格中的数据以及移动到详细信息视图的指示符,方法是将我自己嵌入UILabel
中的自定义字符串用作accessoryView
,将UITableViewCellAccessoryDisclosureIndicator
用作accessoryType
。然而,苹果的Objective-C文档暗示,我不能在下面的行中同时使用这两个,这是我从这篇文章中借来的:
讨论
如果此属性的值不为零,则UITableViewCell类在表视图的正常(默认)状态下为附件视图使用给定的视图;它忽略accessoryType属性的值。所提供的附件视图可以是框架提供的控件或标签或自定义视图。附件视图显示在单元格的右侧。
附件视图在正常状态和编辑状态之间交叉淡入淡出(如果设置为两种状态);使用editingAccessoryView属性可以在编辑模式下设置单元格的附件视图。如果没有为这两种状态都设置此属性,则会根据需要为单元设置滑入或滑出的动画。
那么有什么方法可以在我的UITableViewCell
中同时使用accessoryType
和accessortyView
吗?我想实现以下内容,而不是使用detailTextLabel
将我的数据放在上
[textLabel dataLabel (->)] # this is header just to illustrate my point
[Michael San Francisco (->)]
[Kevin New York (->)]
我刚刚意识到iOS默认的手机应用程序使用accessoryView
和accessoryType
来显示日期,这正是我想要做的
您不应该使用accessoryView
在UITableViewCell
中显示其他数据。UITableViewCell
的accessoryView
属性被Apple记录为一个视图,通常用作单元格右侧的控件(正常状态)。您不需要控件(例如按钮、开关等);听起来你只需要一个UILabel
。
accessoryView
和accessoryType
都打算占据UITableViewCell
中最右边的位置,用于编辑控件、导航等。
请注意,Apple提供了几种不同类型的UITableViewCell
,它们提供了不同数量和外观的文本字段。如果其中一种默认类型不适合您的用途,只需根据需要自定义UITableViewCell
布局即可。您可以将自己选择的子视图添加到UITableViewCell
的contentView
中。这可以在代码或xib中完成。
不要相信两者都可以使用。仍然有点不清楚您到底想做什么,但您可以在自定义UITableViewCell中使用任何类型的控件。如果您正在使用情节提要(推荐),则可以拖动任何基本控件并根据需要进行布局。您可以将其与适当的附件类型结合使用。