gpt4 book ai didi

ipad - 适用于 iPad 的 MonoTouch : How to show a popup dialog?

转载 作者:行者123 更新时间:2023-12-05 00:02:30 24 4
gpt4 key购买 nike

我刚刚开始学习使用 MonoTouch 为 iPad 开发应用程序(主要是)。可能是因为我在C#世界的多年经验,让我的转换非常困难,有时我会觉得自己很愚蠢。这在 C# 中是非常简单的事情,但它让我摸不着头脑......

弹出对话框?

对于 iPhone,你很少有这个要求,因为你展示的任何东西都会占据整个屏幕,所以你只需为每个弹出窗口创建一个 Controller 。

对于 iPad,我有更多的空间,而且我不希望整个屏幕被一些控件(例如登录屏幕)占据。这就是为什么我想将其显示为弹出窗口的原因。我在其他 iPad 应用程序中看到过这种情况。

据我所知,我需要使用 UIAlertView 或 UIActionSheet 来做到这一点。但我不明白的是,正如我读过的所有示例所示,您必须从代码中创建所有控件。

我想做的是使用 IB 创建 UI,并将其插入 UIActionSheet。是否可以?我该怎么做?

最佳答案

如果这是一个仅限 iPad 的应用程序,您将需要使用 UIPopoverController。这是一个弹出“窗口”,其中包含一个 View 并链接到屏幕上的某个区域,例如工具栏按钮或矩形(例如 UIButton 的框架)。

要使用它,请创建一个新的 UIPopoverController 实例,使用接受 UIViewController 并传递您想要显示的 View 的构造函数。

由于垃圾收集方面的考虑,请确保将 UIPopoverController 存储在类级属性中。

您可能还想在弹出窗口关闭时清理此属性。为了支持这一点,我们对 UIPopoverController 进行了子类化,添加了一个可以被调用者 Hook 的事件,然后覆盖 Dismiss 方法并在覆盖的方法中触发 Hook 事件(如果有)。

实例化弹出窗口后,您将需要显示它。您可以通过 PresentFromxxx 方法之一执行此操作。如果您从按钮(而不是工具栏)呈现此内容,您可以使用按钮的框架作为矩形来调用 PresentFromRect。

显示的 View 可以通过在其 ViewDidLoad 方法中设置 ContentSizeForViewInPopover 属性来控制其大小。

关于ipad - 适用于 iPad 的 MonoTouch : How to show a popup dialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939848/

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