- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如上所述,在 iOS8 中,[UIPopoverController presentPopoverFromRect] 不再适用于 [UIApplication sharedApplication].keyWindow。 (它确实适用于 iOS7)
我验证了以下代码:
TestViewController *test = [[TestViewController alloc] initWithNibName:nil bundle:nil];
if (testPopoverController == nil) {
testPopoverController = [[UIPopoverController alloc] initWithContentViewController:test];
testPopoverController.popoverContentSize = CGSizeMake(250, 95*5);
}
CGPoint point = [sender convertPoint:CGPointMake(0, 0) toView:nil];
CGRect rect = CGRectMake(point.x, point.y, 24, 24);
[testPopoverController presentPopoverFromRect:rect inView:[UIApplication sharedApplication].keyWindow permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
最佳答案
我想出的最佳解决方案是有条件地处理它。如果在 iOS 7 上,请使用我们在关键窗口上显示 UIPopoverController 的工作代码。如果在 iOS 8 上,请使用以下命令:
viewController.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *presentationController = viewController.popoverPresentationController;
[presentationController setDelegate:self];
presentationController.permittedArrowDirections = 0;
presentationController.sourceView = [[UIApplication sharedApplication] keyWindow];
presentationController.sourceRect = [[UIApplication sharedApplication] keyWindow].bounds;
[viewController setPreferredContentSize:CGSizeMake(320, 480)];
[parentController presentViewController:viewController animated:YES completion:nil];
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:viewController];
[self.popoverController setDelegate:self];
[self.popoverController setPopoverContentSize:isLandscape() ? CGSizeMake(480*2, 320*2) : CGSizeMake(320*2, 480*2)];
[self.padPopover presentPopoverFromRect:CGSizeMake(320, 480)
inView:[[UIApplication sharedApplication] keyWindow]
permittedArrowDirections:0
animated:YES];
关于uipopovercontroller - 在 iOS8 : UIPopoverController presentPopoverFromRect not work for keyWindow any more,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976741/
我正在创建一个越狱调整,向 UIWindow 添加一个 View ,无论当前的 keyWindow 是什么。问题是每当 keyWindow 发生变化时, View 就会被删除。 我在用这个 %hook
从 Xcode 10.3.1 升级到 Xcode 11.1 后,我在所有 UIView 上添加的自定义事件指示器消失了。它被添加到 keyWindow 中,如下所示: UIApplication.sh
我用keyWindow添加了一个subView,添加成功但是没有显示在screen hierarchy的最前面。 深灰色 View 是我添加的 View : 我的代码是: @interface Vie
我一直在使用 [[UIApplication sharedApplication] keyWindow] 以 UIView 的形式获取屏幕的可见 View 。然后,我将该 View 转换为要使用的 U
问题:我有一个窗口 mainWindow 和另一个添加到 mainWindow 的 childWindow 。childWindow 是一种 WindowExt 类。我为 catch 方法调用定义了这
我正在尝试测试(使用 XCTest 框架)驻留在框架(动态库)内的 View Controller 。我遇到了属性 UIApplication.sharedApplication().keyWindo
我试图阻止 Apple 在应用挂起进入后台时截取当前屏幕内容的实现。我找到了一段可以工作的代码,但它有一个问题。它所做的是清除屏幕上的键盘窗口,因此在拍摄快照时,它是一个空白屏幕。这是该功能的代码片段
我正在设计一个具有“封面 View ”功能的 iOS 密码锁库,当应用程序处于后台时,它会隐藏屏幕上的内容。看这个image . 当我的 PasscodeManager 收到 UIApplicatio
我在 iPad 上使用 cocos2d,我正在使用 ccviewcontroller 类来帮助集成 UIKit 和 cocos2d。我已经设置了一个 Storyboard并有一个初始 View Con
我正在为我的应用开发同步功能。 我想要实现的是显示一个自定义的 UIView,它将作为用户的指示器,无论用户在什么屏幕上(例如导航到仪表板、设置、配置文件页面等),同步正在进行中.短期内,它将静态地固
我需要在我的应用程序的共享扩展中访问 keyWindow - 添加一些指标 View - 获取窗口的宽度和高度 我在共享扩展类中写了以下行: UIWindow *mainWindow = [[UIAp
我想将我的 UIView 中的 CGPoint 转换为 UIWindow 坐标,并且已经意识到 UIApplication keyWindow 始终为 nil;这是为什么? 我尝试了 UIView 中
我正在尝试加载选项卡栏顶部的 View (带有日期选择器),该选项卡栏作为 subview 加载到我的应用程序委托(delegate)文件中。 我这样做: [[[UIApplication share
在某些情况下,[[ UIApplication sharedApplication] keyWindow ] 返回 nil。 在某些设备上,这种情况经常发生,但总体来说是零星的 有人知道它返回零的原因
我通过调用显示我的主窗口 [window makeKeyAndOrderFront:self]; [NSApp activateIgnoringOtherApps:YES]; [window setI
我已将 View 添加到 [[UIApplication sharedApplication] keyWindow] ,因为我们希望它与导航栏重叠。 现在我们想点击 View 上的一个按钮并以模态方式
在我的应用程序中的某个时刻,我需要返回到我的主(即主页)ViewController。所以我需要向后移动到我的导航堆栈,它现在充满了 ViewControllers 和 NavigationContr
我想在启动后测试我的应用委托(delegate)制作窗口作为关键窗口。所以我编写了以下测试。 - (void)setUp { window = [[UIWindow alloc] init];
我在 iPad 上的应用程序 keyWindow 出现问题。 我为 iPhone 设计了我的应用程序,稍后通过设置设备系列和为 iPad 添加新的 Storyboard来添加 iPad 支持。到目前为
启动时,我的应用会检查更新。如果可用,我会尝试使用以下指令将叠加 View 相互叠加: [[[UIApplication sharedApplication] keyWindow] addSubvie
我是一名优秀的程序员,十分优秀!