【问题标题】:Set both accessoryType and accessoryView in UITableViewCell in iOS app - feasible?在 iOS 应用程序的 UITableViewCell 中同时设置附件类型和附件视图 - 可行吗?
【发布时间】:2014-02-23 06:20:07
【问题描述】:

我想在我的 iOS 应用程序的 UITableViewCell 中同时设置 accessoryTypeaccessortyView,以便让我的用户看到每个单元格中的数据以及移动到详细视图的指示器,通过同时使用两者我自己的自定义字符串嵌入在UILabel 中作为accessoryViewUITableViewCellAccessoryDisclosureIndicator 作为accessoryType。但是,Apple 的 Objective-C 文档暗示我不能在 following line 中同时使用两者,这是我从 this post 借来的:

讨论

如果该属性的值不为 nil,则 UITableViewCell 类将给定视图用于表格视图正常(默认)状态下的辅助视图;它忽略了附件类型属性的值。提供的附件视图可以是框架提供的控件或标签或自定义视图。附件视图出现在单元格的右侧。

附件视图在正常和编辑状态之间交叉淡入淡出,如果它设置为两种状态;使用editingAccessoryView 属性在编辑模式下设置单元格的附件视图。如果没有为这两种状态设置此属性,则单元格会根据需要动画滑入或滑出。

那么有没有办法在我的UITableViewCell 中同时使用accessoryTypeaccessortyView?我想实现以下目标,而不是使用detailTextLabel 来放置我的数据。


[textLabel    dataLabel    (->)] # this is header just to illustrate my point

[Michael    San Francisco  (->)]
[Kevin      New York       (->)]

我刚刚意识到 iOS 默认的电话应用程序使用 accessoryViewaccessoryType 来显示日期 - 这正是我想要做的。

【问题讨论】:

    标签: ios objective-c uitableview


    【解决方案1】:

    您不应使用accessoryViewUITableViewCell 中显示其他数据。 UITableViewCellaccessoryView 属性被 Apple 记录为在单元格右侧(正常状态)使用的视图,通常用作控件。您不需要控件(例如按钮、开关等);听起来你只需要一个UILabel

    accessoryViewaccessoryType 都打算占据UITableViewCell 中最右边的位置,用于编辑控件、导航等。

    请注意,Apple 提供了几种不同类型的 UITableViewCell,它们提供了不同数量和外观的文本字段。如果这些默认类型之一不适合您的目的,只需根据需要自定义 UITableViewCell 布局。您可以将您选择的子视图添加到UITableViewCellcontentView。这可以在代码或 xib 中完成。

    【讨论】:

    • 使用UITableViewCellStyleValue1 并将UILabel 字符串设置为单元格的contentView,现在我可以归档我想做的事情了。谢谢!
    【解决方案2】:

    不要相信你可以同时使用两者。仍然有点不清楚您到底要做什么,但是您可以在自定义 UITableViewCell 中使用任何类型的控件。如果您使用 Storyboards(推荐),那么您可以拖出任何基本控件并根据需要进行布局。您可以将其与适当的配件类型结合使用。

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多