swift tabBarController中设置tabBarItem.image 是正常,但是设置tabBarItem.selectedImage发现是默认的蓝色,图标没有变化,最后查到资料需要在Assets该图片default改为Original即可,特此记录
开发SDK编译报错
今天做SDK开发的时候碰到一个非常奇怪的问题,真机demo正常,模拟器一直报错bundle format unrecognized, invalid, or unsuitable,最后发现在Assets目录下面二级目录有个文件夹名称为Resources,猜测可能是关键词之类的吧,改名称就解决了,特此记录一下
cordova加载服务器H5页面,js放本地
首先需要改造一下cordova文件源码
CDVURLProtocol.m这个文件
这里使用之前要注册一下
把按照cordova官网教程做的demo中,插件拖进来,注意这里,一定要选择Create folder references
工程中显示蓝色文件夹,在cordova_plugins.js中,自己设置导入的插件目录,差不多就这样了
Cordova iOS使用心得(爬坑)
现在做个很老很老的项目,整个工程只有一个Controller,能想到这得多老的项目了吧,要集成Cordova,之前js交互实在很差,写一点爬坑过程
1、项目如果不是刚开始就集成Cordova,不建议使用官网那个教程,试了下,没成功
2、使用cocoapods安装的cordova 和插件
3、使用官网教程新建demo,自己工程需要哪些插件,用官网命令在demo里面装上,platform里面www复制进项目
然后,将下面js原名称Run Script修改为Copy www directory;然后将show env那个选项去掉,最后将下面的代码字段复制到build phases:(如果h5放服务器,这段不需要)
4、将config.xml拖到工程
5、自己的Controller继承CDVViewController,创建的时候这样写,如果www本地调试的话
如果www放服务器,可以这样写
我这个放在我本地搭建的服务器了,所以写localhost,改成自己服务器地址即可,切记:这样写,是打开safary打开的,需要在config.xml中修改
这样基本可跑了。用的话去看官方怎么用就可以了,自定义插件一定要在config.xml中配上才行,例如我这个
凭印象写,就这样
jsonmodel中出现系统关键词处理
服务器中返回数据中使用jsonModel解析转化为模型时,如遇到跟系统关键字或系统自有属性冲突,例如id等使用jsonmodel中的JSONKeyMapper类方法
AFNetWorking支持https,不验证证书
tags: AFNetWorking https 不验证证书
直接上代码
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
[securityPolicy setValidatesDomainName:NO];
[securityPolicy setAllowInvalidCertificates:YES];
_sharedInstance.securityPolicy = securityPolicy;
UITableView顶部有一块空白区域
上个项目一直用代码写控件,所以没有发现这个问题,今天没事写个h5的东西,用到xib,发现UITableView最上面一直有一块空白区域,搜了资料发现,iOS 7 viewcontroller新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationbar与tabbar的高度,自动调整scrollview的 inset,设置为no,让它不要自动调整就可以了,加一句代码就ok了
statusBar状态栏消息滚动显示控件
利用状态栏来提示和显示状态,字数太多可以滚动显示完之后消失
- (void)showWithStatus:(NSString *)status barColor:(UIColor*)barColor textColor:(UIColor*)textColor{
if (_isshowing) {
return;
}
_isshowing = YES;
if(!self.superview)
[self.overlayWindow addSubview:self];
[self.overlayWindow setHidden:NO];
[self.topBar setHidden:NO];
self.topBar.backgroundColor = barColor;
NSString *labelText = status;
CGRect labelRect = CGRectZero;
CGFloat stringWidth = 0;
CGFloat stringHeight = 0;
if(labelText) {
CGSize size = [labelText boundingRectWithSize:CGSizeMake((self.topBar.frame.size.width-20), 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:self.label4Title.font} context:nil].size;
stringWidth = size.width;
stringHeight = size.height;
_timeInterval4Label = stringHeight/10;
labelRect = CGRectMake(10, 0, stringWidth, stringHeight);
}
self.label4Title.frame = labelRect;
self.topBar.contentSize = CGSizeMake(self.topBar.frame.size.width, labelRect.size.height+20);
self.label4Title.alpha = 0.0;
self.label4Title.hidden = NO;
self.label4Title.text = labelText;
self.label4Title.textColor = textColor;
[UIView animateWithDuration:0.4 animations:^{
self.label4Title.alpha = 1.0;
}];
[UIView animateWithDuration:0.4 animations:^{
self.label4Title.alpha = 1.0;
} completion:^(BOOL finished) {
[self beginScrollWithTimeOfTimer:_timeInterval4Label];
}];
[self setNeedsDisplay];}
使用起来相当简单 [WHPStatusBar showSuccessWithStatus:@”显示消息”];这一句就好
源码地址下载github