ios开发中怎么把全屏view加到window上面

ios开发中怎么把全屏view加到window上面,第1张

下面是比较严谨的获取方法:

- (UIWindow *)lastWindow

{

NSArray *windows = [UIApplication sharedApplication].windows

for(UIWindow *window in [windows reverseObjectEnumerator]) {

if ([window isKindOfClass:[UIWindow class]] &&

CGRectEqualToRect(window.bounds, [UIScreen mainScreen].bounds))

return window

}

return [UIApplication sharedApplication].keyWindow

}

你的delegate已经生成的window,因此你就不需要mainWindow.xib了,你创建mainWindow.xib和直接用代码生成window效果是一样的,你要是要生成view的话直接添加UIViewController的类,带不带nib文件看你自己的选择,然后在delegate中生成UIViewController的实例,然后直接[self.window addSubview:viewController.view]就可以了。

当然你也可以手动创建空nib,然后指明它是哪个类,然后再添加相应的控件,也是可以的。

希望能帮助到你。

你是要获取当前程序的window吗?

还是说你本身就知道这个用法。

下面我简单的介绍一下这种用的的意义,view.window 这个用法一般时候是用于判断当前你 *** 作的这个View是否是可视的,也就是说当前有没有被添加到程序的展示当中来,假如说view.window是nil 说明当前这个View没有被添加进来 也就是说没有一个被添加到window里面的View包含了它

换句话说 只要你执行过 someView addsubview:view 此时 只要这个someView是已经被添加的 那么view.window也就不会为nil了

我看你会问这种问题,说明你的IOS底子还不是很深,假如你是想获取到window 那么应该是写成[[UIApplication sharedApplication].windows lastObject] 这个返回的就是当前的程序的window


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11947190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存