gpt4 book ai didi

ipad - 适用于 iPad 的 MonoTouch : How to show another UIViewController in a UIPopoverController?

转载 作者:行者123 更新时间:2023-12-04 20:52:59 26 4
gpt4 key购买 nike

正如标题所说,我想从托管在 UIPopoverController 中的现有 UIViewController 中显示另一个 UIViewController。我尝试了以下方法:

_secondViewController = new SecondViewController();
this.ModalPresentationStyle = UIModelPresentationStyle.CurrentContext;
this.ModelInPopover = true;
this.PresentModelViewController(_secondViewController, true);

但是, secondViewController 显示在主 View Controller 中,而不是弹出 Controller 中。

在此 post有人提到它无法完成并且违反了 HIG。但是,如果我没记错的话,我已经在其他应用程序(例如 Yahoo! Email)中看到了这一点。

我也在考虑另一种方法:如果我可以在 popover 上下文中创建一个 UINavigationController,它可能只需将新的 ViewController 添加到 NavigationController。但是如何?

最佳答案

请记住 UINavigationController 派生自 UIViewController。

因此,您可以像使用任何其他容器一样使用包含在 UIPopover 中的 Controller ……在这种情况下,最好在 UIPopover 中使用 UINavigationController 来显示 ViewController。

用法:

var _NavController = new NavController();

Popover = new UIPopoverController(_NavController);
Popover.PopoverContentSize = new SizeF(..., ...);

Popover.PresentFromRect(...);

导航 Controller :
public class NavController : UINavigationController
{
UIViewController _FirstViewController;
UIViewController _SecondViewController;

public NavController()
: base()
{
}

public override void LoadView()
{
base.LoadView();

_FirstViewController = new UIViewController();

// Initialize your originating View Controller here.
// Only view related init goes here, do everything else in ViewDidLoad()
}

public override void ViewDidLoad()
{
base.ViewDidLoad();

// When a button inside the first ViewController is clicked
// The Second ViewController is shown in the stack.

_FirstViewController.NavButton.TouchUpInside += delegate {
PushSecondViewController();
};

this.PushViewController(_FirstViewController, true);
}

public void PushSecondViewController()
{
_SecondViewController = new UIViewController();
this.PushViewController(_SecondViewController, true);
}
}

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

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