标签: uiwindow

如何判断UIViewController的视图是否可见

我有一个标签栏应用程序,有很多视图.有没有办法知道某个特定UIViewController目前是否可以从内部看到UIViewController?(寻找房产)

uiviewcontroller uiview uiwindow ios

543
推荐指数
10
解决办法
23万
查看次数

iPhone - 在整个UIWindow中获取UIView的位置

的位置UIView可以明显受到确定view.centerview.frame等等,但这只是返回的位置UIView相对于它的即时上海华.

我需要确定UIView整个320x480坐标系统的位置.例如,如果UIView是在UITableViewCell窗口内它的位置可以大大irregardless的上海华盈的改变.

任何想法是否以及如何可行?

干杯:)

iphone cocoa-touch uiview uiwindow ios

202
推荐指数
5
解决办法
11万
查看次数

获取对iOS应用程序中最顶层视图/窗口的引用

我正在创建一个可重用的框架,用于在iOS应用程序中显示通知.我希望将通知视图添加到应用程序中其他所有内容的顶部,有点像UIAlertView.当我初始化侦听NSNotification事件并在响应中添加视图的管理器时,我需要获得对应用程序中最顶层视图的引用.这就是我现在所拥有的:

_topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
Run Code Online (Sandbox Code Playgroud)

这适用于任何iOS应用程序,还是更安全/更好的方式来获得顶视图?

objective-c uiview uiwindow ios

97
推荐指数
4
解决办法
10万
查看次数

优点,问题,将另一个UIWindow添加到iOS应用程序的示例?

最近我一直想知道iOS应用程序只有一个UIWindow.创建另一个UIWindow并将其放在屏幕上似乎不是问题.

我的问题有点模糊,但我对以下内容感兴趣:

  • UIWindow可以通过其他方式无法实现的第二种方式实现什么?
  • 使用多个UIWindow实例时会出现什么问题?
  • 我已经看到人们使用第二个UIWindow来显示iPhone上的popover视图.这是一个很好的方式吗?为什么?为什么不?
  • 是否有其他例子让另一个人有充分理由UIWindow

这不是我错过了什么.我从来没有觉得需要创建另一个UIWindow实例,但也许它可以让我做一些我不知道的惊人事情!:-)

我希望它可以帮助我解决这个问题:我需要在当前显示的任何内容上添加"封面视图".如果已经有一个或多个模态控制器,它也应该工作.如果我UIView在根控制器的视图中添加一个,模态控制器就位于顶部,弹出控制器也是如此.如果我以模态方式显示封面视图并且已有模态控制器,则仅覆盖屏幕的一部分.

cocoa-touch objective-c uikit uiwindow

86
推荐指数
2
解决办法
1万
查看次数

UIView中的方向添加到UIWindow

我有这是应该覆盖整个设备(一个UIWindow)支持的图像放大/缩小效果我使用核心动画其中用户点击一个UITableViewCell按钮做一个UIView和我缩放相关联的图像.

缩放是完美无瑕的,我无法弄清楚的是,即使设备处于横向状态,子视图仍然处于纵向模式.下图说明:

在此输入图像描述

我有一个导航控制器,但这个视图已直接添加到UIWindow.

iphone orientation uiview uiwindow

44
推荐指数
4
解决办法
4万
查看次数

如何使用UIApplication获取我的UIWindow?

我只有一个窗口,我试过了

UIWindow* mWindow = [[UIApplication sharedApplication] keyWindow];
Run Code Online (Sandbox Code Playgroud)

但这回到了零.

我也尝试过:

UIWindow* mWindow = (UIWindow*)[[UIApplication sharedApplication].windows objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

但是当我试图打印出来时,这引发了一个异常,应用程序关闭了

[[UIApplication sharedApplication].windows count]
Run Code Online (Sandbox Code Playgroud)

它打印0

注意:我将它放在我唯一的视图控制器的viewDidLoad方法中,这完全是一个新的基于iPad View的应用程序所以我什么都没改变,只是试图让窗口

请帮我搞定这个对象

iphone uiwindow uiapplication

43
推荐指数
4
解决办法
5万
查看次数

如何解决:iOS 13.0中不推荐使用“ keyWindow”

我正在将Core Data和Cloud Kit一起使用,因此必须在应用程序启动期间检查iCloud用户状态。如果出现问题,我想向用户发出一个对话框UIApplication.shared.keyWindow?.rootViewController?.present(...),直到现在我还是这样做。

在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:

iOS 13.0中已弃用“ keyWindow”:不应将其用于支持多个场景的应用程序,因为它会返回所有已连接场景的关键窗口

我该如何显示对话框?

uikit uiwindow uiapplication uiscene

43
推荐指数
14
解决办法
8426
查看次数

为什么类型的主窗口是双选的?

访问UIapplication's主窗口时,它将作为a返回UIWindow??

let view = UIApplication.sharedApplication().delegate?.window // view:UIWindow??
Run Code Online (Sandbox Code Playgroud)

为什么它作为双重可选项返回,它是什么意思,如果放入一个if let应该添加一个!之后?

if let view = UIApplication.sharedApplication().delegate?.window!
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是?!后代表代替,但那不是解决方案.

optional uiwindow ios swift

38
推荐指数
2
解决办法
4271
查看次数

在主窗口上创建新的UIWindow

在我的应用程序中,我想UIWindow在主UIWindow 上创建一个新的,我编写如下,但它不起作用.首先,我创建一个UIWindow作为主窗口,然后使其键和可见,然后创建一个新的UIWindow叠加,但没有任何反应.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor redColor];
    ViewController *vc = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = vc;
    [self.window makeKeyAndVisible];
    UIWindow *window1 = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
    window1.backgroundColor = [UIColor redColor];
    window1.windowLevel = UIWindowLevelAlert;
    [window1 makeKeyAndVisible];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

uiwindow ios

36
推荐指数
5
解决办法
6万
查看次数

_UIApplicationHandleEventFromQueueEvent中的意外nil窗口

我的一个旧应用程序不适用于iOS8.当我启动应用程序并尝试在任何地方点击屏幕时,我在控制台中收到此消息:

unexpected nil window in _UIApplicationHandleEventFromQueueEvent, 
_windowServerHitTestWindow: <UIWindow: 0x7fe4d3e52660; frame = (0 0; 320 568); 
opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7fe4d3e2c450>; 
layer = <UIWindowLayer: 0x7fe4d3e86a10>>
Run Code Online (Sandbox Code Playgroud)

我正在使用旧式MainWindow.xib.在MainWindow.xib中是我的Window对象,以及UINavigationController,它也在其中定义了第一个View Controller.下图显示了连接到App Delegate的Outlets.

下面屏幕截图中的白色"视图"是UIWindow.右边的视图是UINavigationController(隐藏导航栏),其中定义了第一个ViewController.

在此输入图像描述

如何在不使用新项目从头开始重新创建整个应用程序的情况下解决此问题?

编辑:我刚刚发现有一个TINY条带,其中我的按钮实际上会收到他们的点击/点击.

我也注意到我的self.view.window是零.我如何确保设置?

在此输入图像描述

uiwindow hittest ios8

35
推荐指数
2
解决办法
3万
查看次数