gpt4 book ai didi

objective-c - 如何在不知道是谁呈现的情况下关闭 UIActionSheets 和 UIPopoverControllers

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:26 25 4
gpt4 key购买 nike

在我的客户端应用程序中,我有一个空闲超时控制机制,当用户在指定的时间间隔内没有对应用程序执行任何操作时,我会显示警告并将他返回登录屏幕。这种控制发生在我的容器 View 中,我在其中启动所有其他 View 。当空闲时间结束时,我将这个容器 View 弹出给它的调用者,即登录屏幕。

问题是,如果用户执行显示操作表或弹出窗口的操作,然后在空闲时间结束之前不执行任何操作,当我将他扔到登录屏幕时,操作表和弹出窗口也会保持打开状态登录屏幕,因为我不会关闭它们。

为了解决这个问题,我可以考虑让所有的操作表和弹出窗口保留我的 View Controller 的成员,然后在它们所有者的 viewWillDisappear 方法上将它们解散。但是我有很多 View Controller ,所以我正在寻找其他方法(如果有的话)。

因此,问题是如何在不知道调用者是谁的情况下让所有这些操作表和弹出窗口从我的登录屏幕上消失?

最佳答案

我会注册 UIPopover 实例来收听一些通知。

[[NSNotificationCenter defaultCenter] addObserver:_myPopOver 
selector:@selector(myDismissPopover)
name:@"dismissPopover"
object:nil];

并为 UIPopover 类添加扩展。

- (void) myDismissPopover {
[self dismissPopoverAnimated:YES];
}

当我需要关闭弹出窗口时,我只需要发布通知。

[[NSNotificationCenter defaultCenter] postNotificationName:@"dismissPopover" 
object:nil];

关于objective-c - 如何在不知道是谁呈现的情况下关闭 UIActionSheets 和 UIPopoverControllers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6693837/

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