【发布时间】:2009-05-09 08:15:28
【问题描述】:
应用程序显示有关行星、它们的卫星等的信息。它显示行星列表,让用户选择一个行星并查看其详细信息,然后将其加入书签/取消书签。我有一个向用户显示所选行星详细信息的视图,它还包含一个添加/删除书签按钮。如果用户单击该按钮,则添加/删除该书签,并将另一个视图推送到当前视图之上,以告知用户该书签已被删除。
现在的问题是,当用户单击状态视图上显示的导航栏左侧的后退/行星详细信息按钮并返回行星详细信息视图时,仍会显示添加/删除(以之前显示的为准)按钮,而现在应该根据我编写的代码删除/添加(根据先前加载的按钮)。
我能理解的是,当用户单击后退按钮时,不会重新加载上一个视图,只会弹出状态视图。有没有办法让应用程序运行 setNeedsDisplay 或当用户单击状态视图上的后退按钮时可以重新加载书签详细信息 viewDidLoad 代码的方法?
或者还有其他可能的解决方案吗?
这让用户非常困惑,因为他认为他只是删除/添加了书签,但按钮仍然要求他添加/删除...
代码的其他部分也使用该状态视图向用户显示操作的结果,因此我无法更改其代码,或者我可以检查其中的前一个视图,检查它是否是行星详细信息,然后重新加载其内容...
【问题讨论】:
标签: iphone objective-c uiviewcontroller uinavigationbar