首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏君赏技术博客

    【已解决】UIView添加到KeyWindow上面自动会被 Release

    ?

    42820发布于 2018-09-07
  • 来自专栏晨光的Code

    iOS11下[UIApplication sharedApplication].windows的问题

    sharedApplication].windows[i]; if (window.frame.size.width == [UIApplication sharedApplication].keyWindow.size.width && window.frame.size.height == [UIApplication sharedApplication].keyWindow.size.height) { 中添加其它内容,可以直接修改为UIApplication sharedApplication.keyWindow,或者对window的hidden属性进行判断,向下遍历直到获得可以显示出来的全屏window sharedApplication].windows[i]; if (window.frame.size.width == [UIApplication sharedApplication].keyWindow.size.width && window.frame.size.height == [UIApplication sharedApplication].keyWindow.size.height &&

    1.2K50编辑于 2022-12-01
  • 来自专栏陈满iOS

    iOS开发·UIWindow与视图层级调整技巧(makeKeyWindow,resignKeyWindow,makeKeyAndVisible,keyWindow,windowLevel,UIWind

    后来改变过显示状态(如.hidden=NO,makeKeyAndVisible等),而且又没有 设将其设置为keyWindow,结果导致正在显示的UIWindow不是keyWindow,从而导致添加到keyWindow 比如,获取APP的keyWindow并往上添加视图的代码: [[UIApplication sharedApplication].keyWindow addSubview:self.signView]; 误区:关于keyWindow的混淆易错点 设置keyWindow与否并不 影响视图层级显示,仅来接收键盘及其它非触摸事件。 如果仅仅设置为keyWindow - (void)makeKeyWindow 如果仅仅解除为keyWindow - (void)resignKeyWindow app的keyWindow与是否在最上层显示没有任何关系 sharedApplication].keyWindow; [keyWindow addSubview:self]; 这段代码的目的是添加到最上层UIWindow,但实际操作是把自己的视图添加到keyWindow

    8.9K10发布于 2018-09-10
  • 来自专栏游戏杂谈

    IOS隐藏键盘

    activityIndicatorView_ startAnimating];         // update by zhangyi     [[[UIApplication sharedApplication] keyWindow )webView {     [activityIndicatorView_ stopAnimating];         [[[UIApplication sharedApplication] keyWindow self HiddenStatusBarForIOS7];         // update by zhangyi     [[[UIApplication sharedApplication] keyWindow UIViewController *)viewController animated:(BOOL)animated {     [[[UIApplication sharedApplication] keyWindow

    1.7K20发布于 2018-11-19
  • 来自专栏iOS逆向与安全

    Cycript 小知识:加载自己的脚本

    -p $1 /var/root/utils.cy > /dev/null; cycript -p $1; } utils1.cy function pviews(){ return UIApp.keyWindow.recursiveDescription ().toString(); }; function pvcs(){ return [[[UIWindow keyWindow] rootViewController] _printHierarchy utils.cy (function(utils) { var c = utils.constants = {}; c.pviews = function(){ return UIApp.keyWindow.recursiveDescription ().toString(); }; c.pvcs = function(){ return [[[UIWindow keyWindow] rootViewController] _printHierarchy

    77730编辑于 2022-08-22
  • 来自专栏ppppy_oschina

    iOS屏幕旋转处理

    UIInterfaceOrientationPortrait animated:NO]; [self setNeedsStatusBarAppearanceUpdate]; } [UIApplication sharedApplication].keyWindow.windowLevel [UIApplication sharedApplication].statusBarHidden = YES; [UIApplication sharedApplication].keyWindow.windowLevel = UIWindowLevelAlert; [[UIApplication sharedApplication].keyWindow addSubview:weakSelf.playerView

    1.2K40编辑于 2022-11-15
  • 来自专栏進无尽的文章

    基础篇-UIApplication、UIWindow以及程序的启动流程看我就够了

    翻译过来就是说,keyWindow是指定的用来接收键盘以及非触摸类的消息,而且程序中每一个时刻只能有一个window是keyWindow。 (非keyWindow)的window对象,其中的userInfo则是空的。 于是我们可以注册这个四个消息,打印信息来观察keyWindow的变化以及window的显示,隐藏的变动。 这说明当Level层级相同的时候,只有第一个设置为KeyWindow的显示出来,后面同级的再设置KeyWindow也不会显示。 这说明UIWindow在显示的时候是不管KeyWindow是谁,都是Level优先的,即Level最高的始终显示在最前面。

    2.1K20发布于 2018-09-12
  • 来自专栏mukekeheart的iOS之旅

    iOS学习——获取当前最顶层的ViewController

    1 实现思路   通过最底层的ViewController依次向上寻找,直到找到最顶层的ViewController,也就是从UIApplication的keyWindow的rootViewController UIViewController *resultVC; resultVC = [self _topViewController:[[UIApplication sharedApplication].keyWindow UIViewController *)getCurrentVC { UIViewController *rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController [UIApplication sharedApplication].keyWindow.rootViewController获取到的是项目的根视图,结合可能用到UITabBarController或者UINavigationController UIViewController *)currentVC{ UIViewController *rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController

    7.2K50发布于 2018-02-28
  • 来自专栏日常技术分享

    iOS FPS监测工具

    = [UIFont fontWithName:@"Courier" size:4]; } [self initCADisplayLink]; [[self keyWindow ] addSubview:self.displayLabel]; } -(UIWindow*)keyWindow { UIWindow *foundWindow = nil; NSArray

    2.1K20发布于 2021-04-27
  • 来自专栏coding...

    iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboard/xib本地化纯代码本地化语言切换后记

    ${localizedFile}" # 删除临时文件 rm "${localizedFile}.tmp" 关于刷新界面 对于所有界面的刷新最方便的就是重新设置rootViewController 将keyWindow rootViewController = RedbotTabBar() UIApplication.shared.keyWindow?. 1, execute: { UIView.animate(withDuration: 1, animations: {UIApplication.shared.keyWindow rootViewController = RedbotTabBar() UIApplication.shared.keyWindow?. 1, execute: { UIView.animate(withDuration: 1, animations: {UIApplication.shared.keyWindow

    2.9K31发布于 2018-08-23
  • 来自专栏xx_Cc的学习总结专栏

    iOS-UIWindow详解

    我们可以看到 hidden = YES;那么hidden = NO就可以显示窗口了 另外,我们在[self.window makeKeyAndVisible];前后分别输出一下application.keyWindow NSLog(@"%@",application.keyWindow); [self.window makeKeyAndVisible]; NSLog(@"%@",application.keyWindow layer = <UIWindowLayer: 0x7fefdb529ae0>> 我们可以看到调用[self.window makeKeyAndVisible];方法之后application.keyWindow 可以显示窗口 self.window.hidden = NO; 成为应用程序的主窗口 application.keyWindow = self.window,这个会报错,因为application.keyWindow

    2.3K40发布于 2018-05-10
  • 来自专栏iOS逆向与安全

    iOS小技能:设置状态栏背景颜色(图片)

    valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"]; 1.1 使用新的API 【statusBarManager】 解决方案:使用keyWindow.windowScene.statusBarManager 13.0, *)) { UIView *statusBar = [[UIView alloc]initWithFrame:[UIApplication sharedApplication].keyWindow.windowScene.statusBarManager.statusBarFrame ] ; statusBar.backgroundColor = color; [[UIApplication sharedApplication].keyWindow addSubview 通过上面的代码获取statusBar时,发现每次每次获取都调用 alloc:init的方法,重新生成一个statusBar;然后添加到UIApplication的keyWindow上,再设置背景颜色。 initWithFrame:[UIApplication sharedApplication].statusBarFrame]; [[UIApplication sharedApplication].keyWindow

    2.7K40编辑于 2022-08-22
  • 来自专栏iOS开发干货分享

    iOS逆向(9)-Cycript,动态分析APP利器

    // 查看当前的KeyWindow UIWindow.keyWindow() // 自定义变量 var keyWindow = UIWindow.keyWindow() keyWindow // 隐藏状态栏 setStatusBarHidden:YES]; // 使用地址查看 #0x108e3cd80 // 查看一个对象下的所有变量 *#0x108e3cd80 // 查看一个对象下成员变量的名字 [i for(i in *keyWindow )] // 格式化输出当前View的层级关系 keyWindow.recursiveDescription().toString() // 显示当前View下的所有的Button choose(UIButton NSBundle.mainBundle.bundleIdentifier; // 获取沙盒目录 FYAPPPATH = NSBundle.mainBundle.bundlePath; FYRootVC = function(){ return UIApp.keyWindow.rootViewController

    1.8K51发布于 2019-06-14
  • 来自专栏appuploader使用操作流程

    UIApplication 介绍基础篇介绍

    都会使用类似如下的操作: UIWindow *delegateWindow = [UIApplication sharedApplication].delegate.window; UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; 这里面delegateWindow和keyWindow的区别你是否了解?

    68320编辑于 2023-04-13
  • 来自专栏落影的专栏

    一个BUG的发现、定位和解决

    对于UIAlertView的iOS 11系统行为,猜测: 1、在UIAlertView弹出的时候,会抢占系统的keyWindow,所以会出现键盘在UIAlertView的时候收回(因为keyWindow 改变); 2、在UIAlertView消失的时候,会遍历所有Window,找到其中z轴最高作为keyWindow,所以会出现键盘在UIAlertView消失后弹出(keyWindow变成原来的);

    1.8K70发布于 2018-04-27
  • 来自专栏iOS知识点

    iOS获取当前显示UIViewController视图

    getCurrentVC { UIViewController *result = nil; UIWindow * window = [[UIApplication sharedApplication] keyWindow 第二种写法: //登录接口 UIViewController *juheVC = nil; UIWindow * window = [[UIApplication sharedApplication] keyWindow

    1.4K20发布于 2020-12-01
  • 来自专栏iOS打包,上架知识大全

    UIApplication 基础篇介绍

    都会使用类似如下的操作: UIWindow *delegateWindow = [UIApplication sharedApplication].delegate.window; UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; 这里面delegateWindow和keyWindow的区别你是否了解?

    55910编辑于 2023-03-22
  • 来自专栏大话swift

    iPadOS上启动黑屏翻车问题分析(一)

    通过层次结构我们看到我们的登陆页(依附于keywindow) keywindow十分正常,资源文件等一应俱全。那么是什么原因出现的黑屏呢?

    2.1K00发布于 2019-10-10
  • 来自专栏娱乐心理测试

    IOS13的详细适配

    UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"]; 解决方案: UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; UIView *viewStatusColorBlend = [[UIView alloc]initWithFrame :keyWindow.windowScene.statusBarManager.statusBarFrame]; viewStatusColorBlend.backgroundColor = Color ; [keyWindow addSubview:viewStatusColorBlend]; 6.iOS 13 DeviceToken有变化 原因: NSString *token = [deviceToken

    4K10发布于 2019-10-23
  • 来自专栏iOS逆向与安全

    iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图)

    https://download.csdn.net/download/u011018979/20537947 疑问解答,请关注公众号:iOS逆向 1.支持展开折叠的弹出菜单的实现思路: 1.1将弹出视图添加到keyWindow I、 支持展开折叠的弹出菜单的实现思路 1.1将弹出视图添加到keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) #define kWindow [UIApplication sharedApplication].keyWindow [kWindow addSubview:self]; [kWindow addSubview:self.cover];//蒙版添加到主窗口 https://download.csdn.net/download/u011018979/20537947疑问解答,请关注公众号:iOS逆向 1.支持展开折叠的弹出菜单的实现思路: 1.1将弹出视图添加到keyWindow

    3.5K10发布于 2021-07-29
领券