【问题标题】:iOS: How to change a label with a next and a back button (DetailView)iOS:如何使用下一步和后退按钮更改标签 (DetailView)
【发布时间】:2012-07-24 19:59:42
【问题描述】:

我有一个主从应用程序,在我的 DetailView 中有一个“返回”和“下一步”按钮。
按钮的工作原理:
如果我单击后退/下一个按钮,则标签(来自带有 MasterView 的 SearchBar 的 TableView)应更改为 TableView 的上一个/下一个条目。
我的问题是我不知道该怎么做。
我在这个论坛上搜索,找到了这个主题iOS: Button to access next Tableview cell,但我不明白(我是iOS开发的新手)。
你能帮我吗?

编辑:
这是一个 iPhone 应用程序,带有 Storyboard 和从 MasterView 到 DetailView 的 segue。
而且是动态的TableView。

【问题讨论】:

  • 动态或静态UITableView?
  • master/detail 有不同的关联方式,每种方式的答案都会略有不同。这是 iPad 拆分视图(有或没有故事板),还是从主到细节的转场,还是在点击单元格时从 xib 文件创建的细节?
  • TableView 有一个动态原型单元
  • @Phillip Mills:哦,对不起,我忘了写它是一个带有 Storyboard 的 iPhone 应用程序,从大师到细节的衔接

标签: ios uibutton tableview master-detail


【解决方案1】:

基本过程是让可以提供数据的类成为需要它的类的委托。

  • 创建新协议。

  • 让主控制器实现协议。

  • 为细节控制器提供一个属性,该属性引用 该协议。

  • prepareForSeque: 中,将详细信息的委托设置为主 控制器。

  • 点击按钮后,调用您的代理获取新数据。

【讨论】:

  • 感谢您的回答。你能从第 3 点更准确地解释它吗?我不知道该怎么做。
  • 指定类型时,可以使用@property (nonatomic, strong) id<MyProtocol> dataDelegate;等语法声明if符合协议。在这种情况下,您需要详细控制器中的委托属性指向主控制器。
  • 我创建了一个协议(DPApp.h @protocol DPApp <NSObject>)。然后我将它实现到 MasterViewController.m #import DPApp.h。我现在也在 DetailView.h @property (nonatomic, strong) id<DPApp> dataDelegate;#import DPApp.h 之后创建了该属性。但现在我不明白第 4 点和第 5 点。你能解释一下吗?谢谢你:)
  • 你读过prepareForSegue:吗?当 segue 启动时,如果您在作为 segue 发起者的视图控制器上定义了该方法,则会调用该方法。传递给该方法的 segue 对象具有对目标控制器的引用。您可以将其转换为细节控制器并将其dataDelegate 设置为self。然后,在您点击按钮时,您只需调用类似myLabel.text = [dataDelegate back];myLabel.text = [dataDelegate next];...这取决于您如何定义协议方法。
  • 我的 prepareForSegue 看起来像这样link。我的问题是我不知道如何实现你所说的话。我没有任何协议方法,因为我不知道我需要什么方法。你能给我一个我的应用程序的例子吗?我的 DetailView link
猜你喜欢
  • 1970-01-01
  • 2018-04-02
  • 2012-07-18
  • 2016-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
相关资源
最近更新 更多