iOS避坑集锦

记录一些不常见的坑,一入iOS全是坑。大把API隐藏着坑,先记录下自己碰到的吧

更改navigationViewContorller.viewControllers

1
self.navigationController.viewControllers = mutableVCs;

这样写没问题,当时也不会生效。需要立即调用pop/push,来使这行代码生效。
不pop/push,将无法改变(刷新)viewControllers。

xib上有多个UITextField,有时候切换UITextField,会发生文字往下偏移
原因不详,解决办法:在xib中先选个边框,代码改成无框的。

NSMutableDictionary

1
2
[mutableDic setValue:tradeInfo forKey:tradeSn];//允许tradeInfo为空
[mutableDic setObject:tradeInfo forKey:tradeSn];//不允许tradeInfo空,空则崩

当然咯,2者key都不允许为空

UIScrollView内容自动偏移

1
2
3
在当前viewController添加
self.automaticallyAdjustsScrollViewInsets = NO;
原因:苹果很“人性化”替开发人员着想,自动调整了ScrollVIew的contentSize,避免被navigation遮挡


Documents/Inbox是系统预留文件夹,不可创建和修改

Pch文件用的爽,但是项目有导入c文件可能会报错
解决办法:将需要导入的OC类,放到#ifdef __OBJC__ #endif里面

1
2
3
4
5
6
#ifndef testpch
#define testpch
#ifdef __OBJC__
#import "VerifyTools.h"
#import "CommonUIAlertView.h"
#endif