gpt4 book ai didi

iphone - viewWillAppear 没有被调用 UISplitViewController 的detailView

转载 作者:行者123 更新时间:2023-12-03 20:00:48 25 4
gpt4 key购买 nike

我正在尝试为 iPad 引入的 splitViewController,但陷入了困境。我的 splitViewController 详细 View 上有一个按钮,单击该按钮将打开模态视图。现在我想在模态视图关闭时更改详细信息 View 上 UI 控件的位置。

一个非常明显的方法是在detailView的ViewWillAppear方法中捕获 View 转换。但在本例中它没有被调用。我记得在 tabBarController 中遇到了同样的问题,其中需要在调用每个选项卡项中的 View 的 viewWillAppear 之前设置 [tabBarController viewWillAppear:animated] 。我也尝试使用 splitViewController 执行此操作,但这似乎不起作用。

有什么想法吗?

最佳答案

如果由于模态视图中发生的操作而需要定位,则应使用显式委托(delegate)回调。这将使您能够清楚地指定应用程序的控制流和结果行为。

然后,您应该定义一个具有特定方法的协议(protocol),这些方法携带有关所采取操作的相关信息。当操作发生在模式中时,在委托(delegate)上执行协议(protocol)方法,它可以对该事件使用react(对您来说,这似乎是按钮定位的重新布局)。

要了解足够抽象以处理通用模态行为的方法,请查看 UIAlertViewDelegate协议(protocol)。在这里,代表将获得 alertViewCancel:当用户决定不采取任何操作时的消息,或 alertView:didDismissWithButtonIndex:当他们选择呈现给他们的选项之一时。

这是如何定义协议(protocol)的良好开端。

如果您需要许多 View Controller 来对模式中采取的操作使用react,例如登录模式,那么更好的机制是通知。

关于iphone - viewWillAppear 没有被调用 UISplitViewController 的detailView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3615968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com