- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 UIPopoverController
中使用 UINavigationController
-(void)showEditMenuFrom:(UIButton *)button{
if (self.popover) {
[self.popover dismissPopoverAnimated:YES];
self.popover = nil;
}
else {
EditMenuViewController *editMenuViewController = [[EditMenuViewController alloc] initWithNibName:@"EditMenuViewController" bundle:nil];
UINavigationController *actionsNavigationController = [[UINavigationController alloc] initWithRootViewController:editMenuViewController];
actionsNavigationController.delegate = self;
// switch for iPhone and iPad.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
self.popover = [[UIPopoverController alloc] initWithContentViewController:actionsNavigationController];
self.popover.delegate = self;
// CGRect presentFrame = CGRectMake(button.frame.origin.x-43, button.frame.origin.y-10, button.frame.size.width, button.frame.size.height);
[self.popover presentPopoverFromRect:button.frame inView:button permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[self presentViewController:actionsNavigationController animated:YES completion:^{
NSLog(@"Activity complete");
}];
}
}
}
我尝试在导航时调整 UIPopover
内的 View 大小,结果如下:
2.推送给其他VC
3.弹回:
我尝试在 viewDidAppear
、viewDidLoad
和 UINavigationControllerDelegate
中设置 contentSizeForViewInPopover
但没有任何方法有效
-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
NSLog(@"Show VIEW %@",viewController);
if ([viewController isKindOfClass:[EditMenuViewController class]]) {
viewController.contentSizeForViewInPopover = CGSizeMake(160.0, 160.0);
} else {
viewController.contentSizeForViewInPopover = CGSizeMake(320.0, 320.0);
}
}
最佳答案
我结束了我的问题,有人遇到了这个解决方案:
首先,您需要在 VC 中声明一个 @property,它会弹出堆栈
@property (nonatomic, strong) UIPopoverController *popover;
然后在主代码中赋值给UIPopoverController
self.popover = [[UIPopoverController alloc] initWithContentViewController:actionsNavigationController];
self.popover.delegate = self;
editMenuViewController.popover = self.popover;
最后,在你想调整大小的VC的viewWillAppear中设置大小
-(void)viewWillAppear:(BOOL)animated
{
[self.popover setPopoverContentSize:CGSizeMake(160,160)];
self.contentSizeForViewInPopover = CGSizeMake(160,160);
[super viewWillAppear:animated];
}
关于ios - 无法在 UIPopover 的 UINavigationController 侧调整 UIViewController 的高度 contentSizeForViewInPopover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943731/
这既是一个问题,也是一个解决方案。 我最近在我的 iPad 应用程序中添加了一个非常简单的带有 .xib 的 UIViewController,它只包含一个 UIDatePicker 和一个 UILa
我有一个包含 UITableView 的弹出窗口。在 Storyboard 中,我将弹出窗口的高度设置为适合整个表格,并且显示效果很好。但是,在某些情况下我需要显示较少的单元格,在这些情况下我想更改弹
我正在开发一个项目,我想让我的应用程序与 IOS7 兼容。 self.contentSizeForViewInPopover = CGSizeMake(90, 1 * 65 - 1); 此方法从 io
我希望在 UIPopoverController 中实现相同的框架平滑扩展行为,当您更改它的 UIView 大小时,但使用 WEPopoverController .目前尚未实现。 UIPopover
我有一个带有导航 Controller 和一堆 subview 的 UIPopoverController。弹出窗口的大小是在它显示之前设置的,如下所示: [self.myPopover setPop
我有一个包含 UITableView 的 ipad 弹出窗口。填充表格后,它通常只有几个项目(4-5),所以我正在寻找一种方法将弹出窗口(contentSizeForViewInPopover)调整为
我在 UIPopoverController 中使用 UINavigationController -(void)showEditMenuFrom:(UIButton *)button{ if
我是一名优秀的程序员,十分优秀!