0

我目前在详细视图的viewDidLoad中添加了Segmented Control,这很好,但这意味着我需要调用回TableViewController才能对其执行操作。UITableView UITableViewController详细信息视图和UISegmentedControl如何?

而实际上它是表视图导航器的责任去做表视图中的项目?所以我认为,如果我在prepareForSegue中添加分段控件时切换窗体视图到详细视图会更好?但是,当我尝试详细视图从导航栏中删除分段控制,所以我怀疑这是不是一个正确的方式,或者我做错了什么。

这样做的正确方法是什么?

还有可能获得类似于电子邮件客户端使用的下一个/上一个按钮的上下箭头的默认图像?

回答

1

不,您无法在prepareForSegue中添加控件,因为那时目标控制器的视图尚未加载。在viewDidLoad中做到这一点很好。我不知道你是什么意思,“我需要回调到TableViewController来处理它”。分段控制的目的是什么?

+0

目的是在表视图中的行之间的细节之间前进/后退,但不返回到表视图。分段控制是下一个先前的选择器。 基本上我该如何在索引处选择行......还是需要将指向元素的指针传递给详细视图,以便它管理数据的加载和重新加载? – kos 2013-03-02 00:10:20

+0

@ user2009606,将数据返回给来自您的控制器的常用方法是使用委托方法。表格视图控制器应该在创建它时将自己设置为详细控制器的代表。分段控件的操作方法会调用委托方法,这会导致表视图控制器将下一个或上一个项目传递给细节控制器。 – rdelmar 2013-03-02 00:58:16

+0

谢谢,我认为这很有道理。我通过将数据传递给细节视图和细节重新加载来完成它。只是因为我不知道如果我调用委托tableview从上一行的细节中选择另一行,仅返回到详细视图,它不会看起来如何。对这些转变的视觉方面更多的关注。 – kos 2013-03-02 20:19:37

相关问题