【问题标题】:Shift to UIPopoverPresentationController切换到 UIPopoverPresentationController
【发布时间】:2024-01-07 14:24:01
【问题描述】:

我想为我的 iPhone 应用创建相同的弹出框,大小为 GGrect(320 100.0)。 这是我的旧代码:

View * pk1 = [[View alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:pk1];
pop = [[UIPopoverController alloc] initWithContentViewController:nav];
[pop setDelegate:self];
[pop presentPopoverFromRect:[self btnsavepart].frame inView:[self view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[nav release];

我使用了这个代码,但它没有改变

nav.preferredContentSize = CGSizeMake(320, 100);

我无法将UIpopovercontriller 更改为UIPopoverPresentationController

如何指定GGrect(320 100.0)

我认为我只能横向改变,但我该怎么做。

  View *viewController = [[[View alloc] init] autorelease];
    UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];


    navController.modalPresentationStyle = UIModalPresentationPopover;
    navController.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
    navController.popoverPresentationController.sourceRect = btnsavepart.bounds;
    navController.popoverPresentationController.sourceView = btnsavepart;
    navController.popoverPresentationController.delegate = self;

    [self presentViewController:navController animated:YES completion:nil];

我希望 iPhone 中的 UIPopoverPresentationController 不是 FullScreen 表单

我添加了这个代码,但我给出了全屏视图

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller

{

return NO;

}

【问题讨论】:

  • 我不认为它是重复的,因为 “我无法使用 UIPopoverPresentationController 更改 UIpopovercontriller”
  • @jww 为什么会有不同?这个问题中的 OP 正在尝试使用 UIPopoverPresentationController 在这个问题中显示一个弹出框,就像在重复的问题中一样。
  • 首先它不是重复的,如果你有请给我解决方案
  • HI @user2296278 你找到解决方案了吗?

标签: objective-c ios8 uipopovercontroller uipopover uipopoverbackgroundview


【解决方案1】:

我使用 Xamarin,但它是相同的,要指定要在其中显示 UIViewController 的弹出框的大小,在 UIVIewController 的属性中,你有 PreferredContentSize 属性。在那里你指定大小。

我在哪里看到过,但忘记在哪里了。

【讨论】: