项目中算是节本上完成了腾讯云的IM,在后期功能测试中,遇到了个问题 ,就是进入那个单聊页面后退回上一个页面,会对我的项目中其他的布局有影响,被这个问题折腾了半天,心里很忧伤. 图1是正常的,图2 是pop 回来后的布局,可以明显的看到视图view 向下移动了64单位 也就是导航栏的高度.
当时被这个问题折磨得苦不堪言,然后就联系了腾讯云的客服,对话内容如下,聊天的过程不是很愉快,但还是能接受...
聊天反馈内容就是酱汁的,请注意时间 ,然后现在是北京时间2017-08-16-16:04:23,还是没有给我任何回复结果.看来真的是大公司太忙了,不屑于理我等搬砖狗.
总算是明白了靠人不如靠自己,楼主于是不断的调试,不断地定位缩小范围,还是没有任何效果.
后来还是灵光一闪下,觉得会不会是在那个聊天的基本类里面写了某个方法导致的.
果然山穷水复疑无路.柳暗花明又一村.楼主在一层层的查找进去,才在CommonBaseViewController 这个类里面找到元凶.在这个类里面声明了个方法- (void)configContainer;
它的原方法是这样的 主要是对导航栏 tabbar 等做了设置,然而就是这些设置破坏了楼主的布局
- (void)configContainer
{
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = NO;
self.navigationController.navigationBar.translucent = NO;
self.tabBarController.tabBar.translucent = NO;
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}
楼主其实做的修改很简单,把后面几个设置全部给注释了,然后天下太平,一切布局都是正常了.当楼主看到一切都正常的时候心情是激动的,可是一想到被这个破坑折腾这么久,楼主心中顿时一千万只草泥马飘过....
- (void)configContainer
{
self.edgesForExtendedLayout = UIRectEdgeNone;
// self.extendedLayoutIncludesOpaqueBars = NO;
// self.navigationController.navigationBar.translucent = NO;
// self.tabBarController.tabBar.translucent = NO;
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}
常在河边走哪能不湿鞋.这次的经历也算是积攒一次人品吧.楼主以前做新浪微博的分享的时候,也被坑过,那个新浪微博开放平台的登录的时候,楼主使用的是公司的账号,不知道被哪个手贱的改过密码,楼主不知道,还一直按照原来的密码输入,一直都不能登录进去,也不给提示信息什么的.楼主当时还以为是新浪开放平台崩了...后来楼主用自己的微博账号登录居然进去了,当时也是想死的心都有了,你好歹给点提示信息什么的啊。。。后来针对这个问题给新浪那边反馈了,回复的但是很快,就是官方的一套语言,说是会很快优化。过了一段时间楼主再去看,只能呵呵。。
最后总结一下,腾讯是个牛掰的公司,一直都是楼主所崇拜的,然而这次的经历让腾讯在楼主心中的伟大形象瞬间崩塌.
牢骚不说了,最后还是祝福腾讯越来越好,越做越强.
网友评论