【问题标题】:Question about iPad/iPhone controls关于 iPad/iPhone 控件的问题
【发布时间】:2011-04-25 18:10:49
【问题描述】:

在 iPhone/iPad 的常规设置中,它们有一个在右侧显示“>”的项目列表。按下时它会滑动到另一个视图。

这是来自对象调色板的控件吗?如果是这样,哪个控制?如果没有,实现类似功能的最佳方法是什么。

我在 Apple Dev 网站上查看了很多示例,但我找不到这样的控件,或者至少我不记得看过它。

感谢您对这个愚蠢问题的任何帮助! -:)

谢谢

【问题讨论】:

  • 您是指按钮、表格视图还是导航控制器?

标签: iphone ipad ios4 xcode4


【解决方案1】:

每当您看到一个可滚动的项目列表视图时,您就是在查看 UITableView,并且列表中的每个项目都是使用 UITableViewCell 定义的。要让 UITableViewCell 显示 '>',您只需将其 'accessoryType' 设置为 'UITableViewCellAccessoryTypeDisclosureIndicator'。

这只会绘制'>',它不会在其他视图中滑动。然而,当用户选择一个 UITableViewCell 时,它会在其委托上调用一个函数:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

在这里,您将编写在新视图控制器中滑动的逻辑(使用 UINavigationController 的 -pushViewController:animated:)。

要了解有关如何使用 UITableView 的更多信息,我强烈建议您阅读UITableView programming guide。它还链接到带有示例代码的可下载项目。

【讨论】:

    【解决方案2】:

    您可能是指 UITableViewController 和 UINavigationController 的组合。创建一个新的“基于导航的应用程序”来检查它是如何工作的并玩得开心。 :)

    两者都在 IB 中的控制器部分下可用。

    【讨论】:

    • 是的,就是这样... UITableViewController。感谢您的帮助!
    【解决方案3】:

    您正在寻找的控件是带有披露指示器的 UITableview。要获取披露指示符(灰色 V 形或蓝色按钮),请为每个 tableview 单元格设置editingAccessoryType。这将在您的表格视图中的每个项目的右侧为您提供一个“>”。

    当您点击其中一个“>”时,tableview 的委托将调用此方法:

    - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
    

    这与点击行中其他任何地方时调用的方法不同:

    - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
    

    正如 dominostars 所说,您创建另一个视图并使用 UIViewController 的 pushViewController 方法让另一个视图从右侧滑入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      相关资源
      最近更新 更多