【问题标题】:How to change section headers in iOS?如何更改 iOS 中的部分标题?
【发布时间】:2012-11-23 21:37:40
【问题描述】:

我正在编写的应用程序的一些背景信息。这是一个表格视图,当点击一个单元格时,它会加载一个本地 HTML 页面。

但是,现在我想实现节标题,即完整和不完整的节标题。默认标题将是不完整的,并且在用户对表格视图进行交互后,单元格将被移动以完成。如果更改是错误的,则需要一个选项来撤消更改。

我的第一个想法是在每个单元格中放置一个复选框,选中该框会移动单元格,取消选中会将其移回,但我看到 iOS 没有提供这样的功能,而是使用开关代替。

根据我的需要,开关不能很好地工作。所以我想问问其他人对此的想法以及如何实现这样的事情,如果有的话。

任何想法或帮助表示赞赏。

谢谢。

【问题讨论】:

  • 为什么不能有一个复选框?根据您的需要创建自定义视图,然后将其添加到单元格的附件视图中。由于它只是一个 UIView,因此您可以添加按钮。如果您想自定义更多内容,只需子类化一个 uitableviewcell 并在那里添加您需要的任何内容。

标签: objective-c ios cocoa-touch


【解决方案1】:

您可以使用this approach 实现复选标记。基本上,您需要在单元格上添加一个按钮并更改其背景图像以显示选中和取消选中状态。您还可以考虑在 tableview 单元格中使用默认的附件复选标记功能。

例如:-

cell.accessoryType = UITableViewCellAccessoryCheckmark;

cell.accessoryType = UITableViewCellAccessoryNone;

为了implement the section header,可以使用- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section方法或者viewForHeaderInSection:方法。

您可以使用以下方法move a cell from one section to another one

- (void)moveRowAtIndexPath:(NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath

【讨论】:

  • 谢谢。我什至不知道 table 方法存在!绝对是要研究的东西。虽然不会使用复选标记违背 HIG?如果点击单元格显示更多信息或其他视图,我的印象是需要一个披露指示器附件?也许是自定义单元格中的按钮和指示器?我认为这就是让我着迷的一点,如果它只会被苹果拒绝,就不想投入时间。可能值得一提的是我还是新手。 :)
  • @mattFllr,那么你对苹果 HIG 有什么看法?如果可能,您可以使用UITableViewCellAccessoryCheckmark。这是表中的默认复选标记。但是如果你需要一个自定义复选标记来代替 accsoryview,苹果也不会拒绝。我见过很多带有自定义复选标记的应用程序。没有什么反对 HIG。
  • @mattFllr,希望您知道UITableViewCellAccessoryCheckmark 与披露指标不同。那是您引用的不同配件类型。这个仅用于您的问题中提到的目的。
  • 是的,我想我明白了。谢谢你。 :)
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 2019-05-18
  • 2019-06-01
  • 1970-01-01
  • 2015-11-11
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多