gpt4 book ai didi

ios - Storyboard - 打开 UIViewController 作为 UIPopoverController

转载 作者:行者123 更新时间:2023-11-28 19:02:11 25 4
gpt4 key购买 nike

对于我的 iPad 版本的应用程序,我想通过单击按钮将 UIViewController 作为 UIPopoverController 打开。因此,打开 View Controller 的真正代码如下。我如何轻松地将此类代码转换为打开 UIViewController 作为 UIPopoverController

代码:

UIStoryboard *sb = [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary        objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]];

UIViewController *aboutView = [sb instantiateViewControllerWithIdentifier:@"AboutViewController"];
aboutView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:aboutView animated:YES completion:NULL];

最佳答案

使用类似的东西:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
UIPopoverController *poc = [[UIPopoverController alloc] initWithContentViewController:aboutView];
[poc presentPopoverFromRect:CGRectMake(somePoint.x, somePointY, 1.0, 1.0) inView:self.view permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];
} else {
aboutView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:aboutView animated:YES completion:NULL];
}

您还可以通过按钮显示弹出框,还可以控制弹出框的显示方向。如果您使用 UIPopoverArrowDirectionAny,iOS 会做出明智的决定,让弹出窗口可见。

您还应该保持对弹出框的强引用,并且仅在它为 nil 时显示它,以确保弹出框仅出现一次。这意味着如果弹出窗口被取消,则将保存它的属性设置为 nil

关于ios - Storyboard - 打开 UIViewController 作为 UIPopoverController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849020/

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