【发布时间】: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