1. 适配第三方键盘(搜狗、百度)
- (void)keyBoardWillShow:(NSNotification *)notif {
NSDictionary *info = [notifuserInfo];
NSValue *value = [infoobjectForKey:UIKeyboardFrameEndUserInfoKey];
CGSize keyboardSize = [valueCGRectValue].size;
//根据键盘高度做处理,请注意不同的系统,尤其iOS8这个分界点,对于横屏应用,你可能会发现上边获得键盘size的x和y值兑换了!!!
}第三方输入法问题:
首先在 secureTextEntry 属性为 YES 的输入框内,比如密码框,iOS 系统将强行调用系统默认输入法, 以保证用户的信息安全,这一点在 UIKeyboardTypePhonePad 和 UIKeyboardTypeNamePhonePad 类型的输入框(数字输入框,比如电话号码框)中亦是如此。 第三方输入法将不允许移动光标位置,不允许选中输入框中的文字,这将直接导致目前在安卓输入法中被广泛使用的光标快捷移动功能, 以及剪切,复制,粘贴等功能无法使用。2. Appdelegate.m中的方法
1. - (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation { }// 与上面方法同时存在,则不调用上面方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options { return YES; }这样做可以兼容之前老版本的App,值得我们学习!
3. Xcode自带的Source Control
不论你是个人开发,还是软对开发,使用这个可以精确定位你改动了哪些代码,再也不用担心为了测试暂时添加部分代码,而后发布时忘记删除啦!而且还可以查看自己每次提交时添加的历史Log!!!
4. App本地数据管理
(1)应该区分账号保存数据
(2)在你注销登陆时,应该清除一些无用的数据
(3)在开发阶段,应该提供一个切换开发模式的接口,这样就可以在开发模式中做一些有助于调试的操作,比如打印log、弹出错误信息、收集错误信息到本地等等
5. 奇怪现象 UIApplicationDidBecomeActiveNotification
当弹出UIAlertView后,消失时,总是会触动系统通知 UIApplicationDidBecomeActiveNotification,这是不是Apple的Bug?我多方求证无果!希望大牛解答!谢谢!