zoukankan      html  css  js  c++  java
  • IQKeyboardManager 状态栏(status bar)问题

    因为懒,所以具体什么样子,参考下面的链接

    具体的问题情况参考:StatusBar background problem #1158

     

    我解决的思路很简单,就是在监听键盘消失的时候,去设置 statys bar 的背景颜色。

    因为状态栏并不是消失了,说明不是frame 出了问题,那么我就修改 它的背景颜色。

     具体代码:

    去替换 IQKeyboardManager.m 中的下面的方法

    - (void)keyboardDidHide:(NSNotification*)aNotification
    {
    CFTimeInterval startTime = CACurrentMediaTime();
    [self showLog:[NSString stringWithFormat:@"****** %@ started ******",NSStringFromSelector(_cmd)]];
    
    _topViewBeginRect = CGRectZero;
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
    
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
        
        statusBar.backgroundColor = [UIColor whiteColor];
    }
    #ifdef __IPHONE_11_0
    if (@available(iOS 11.0, *)) {
    self.initialAdditionalSafeAreaInsets = UIEdgeInsetsZero;
    }
    #endif
    
    _kbSize = CGSizeZero;
    
    CFTimeInterval elapsedTime = CACurrentMediaTime() - startTime;
    [self showLog:[NSString stringWithFormat:@"****** %@ ended: %g seconds ******",NSStringFromSelector(_cmd),elapsedTime]];
    }

    但是由于弹起键盘的控制器导航栏的透明度原因会有一些小问题,所以我干脆就直接不透明。顺便把颜色也写上。这样就看不出来了。先这样改吧。

    self.navigationController.navigationBar.translucent = NO; 
    [self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]];
  • 相关阅读:
    python文件上传
    Django
    Python生产环境部署(fastcgi,uwsgi)
    tp3.2 自带的文件上传及生成缩略图功能
    图片上传--base64
    图片上传
    PHP处理大数据量老用户头像更新的操作--解决数据量大超时的问题
    mysql悲观锁处理赠品库存超卖的情况
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4817: [Sdoi2017]树点涂色
  • 原文地址:https://www.cnblogs.com/DafaRan/p/8074083.html
Copyright © 2011-2022 走看看