自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农--xc

种一棵树的最好机会是十年前,再者就是眼前了,所以永远别说明天。

  • 博客(139)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS中多个按钮切换选中状态《三步骤》

当你看到了一排按钮,想实现点击选中某个按钮效果时可参考此笔记。思路:声明一个中间变量来回赋值。第一次点击A按钮时,A按钮选中了,临时的中间按钮被记录为A;第二次点击B按钮时,B按妞被选中了,先把上次的记住的临时按钮A变为了不选中,再把中间按钮又变为B按钮。(如果想要有默认按钮的效果就需要在创建按钮的时候把想要默认的按钮赋予给设置的临时按钮)一、效果图“价

2017-06-29 16:05:43 1399

原创 UITableView 分割线不靠左(未补全),删除多余分割线问题

1.分割线不靠左(未补全)问题图片中可以看到分割线并未补全,添加以下方法-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ if ([cell respondsT

2017-06-29 16:01:40 326

原创 libxml/tree.h file not found解决办法

(打开第三方项目时,会遇到)项目中用到某个库文件 没有被找到  /Users/heyy/Desktop/ZhaoPin_V1.1-master/ZhaoPin_V1/Resource/GDataXMLNode.h:38:9: fatal error: 'libxml/tree.h' file not found#import 原因:这是因为类库没有链接进来的原因。1 .

2017-06-29 14:52:20 2177

原创 iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath

iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath首先分析有几种原因,以及相应的解决方法1、UITableViewCell的userInteractionEnabled设置为NO(ps:这种情况很少发生),导致cell无法点击;2、你的控件没有添加在contentView上面,检查下你添加控件时的代码(或是在ce

2017-06-26 19:23:56 1600

原创 iOS - UICollectionView的使用

一.简单介绍UICollectionView 这个类是iOS6 新引进的API,它的布局更加灵活,简单来说就是多列的UITableView,那么UICollectionView的实现和UITableView的实现基本一样,也是存在datasource和delegate的,其中datasource为view提供数据源,告诉view要显示些什么东西以及如何显示它们,delegate提供一些样式

2017-06-26 17:46:02 330

转载 使用Crashlytics来保存应用崩溃信息

转自唐巧的技术博客 http://blog.devtang.com/blog/2013/07/24/use-crashlytics/使用Crashlytics来保存应用崩溃信息 发表于 2013-07-24 20:56本文首发于 InfoQ,版权归 InfoQ 所有,转载请保留 原文链接。简介Crashlytic 成立于 2011 年,是专门为移动应用开者发提供的保

2017-06-26 15:38:25 262

原创 微信支付上的一些坑

微信支付金额是以分为单位的,这样很多人在传金额的时候是将商品的金额乘以100传给微信,不过这样会导致当客户下单结账的时候付款金额少于商品实际价格一分钱,至于为什么我也没办法理解解决办法:将商品的价格按小数点为区分标识将价格分成两部分,然后再拼接起来NSArray *total_fee_Arr = [total_fee_testcomponentsSeparatedB

2017-06-26 15:26:59 1000

原创 更新迭代版本时版本比较方法

#pragma mark -#pragma mark 版本比较方法//比较版本的方法,在这里我用的是Version来比较的- (BOOL)compareVersionsFormAppStore:(NSString*)AppStoreVersion WithAppVersion:(NSString*)AppVersion{ BOOL littleSunResult = fal

2017-06-26 15:17:54 4442

原创 正则表达式验证用户名、密码、手机号码、身份证

//用户名+ (BOOL) validateUserName:(NSString *)name{    NSString *userNameRegex =@"^[A-Za-z0-9]{3,20}+$";    NSPredicate *userNamePredicate = [NSPredicatepredicateWithFormat:@"SELF MAT

2017-06-26 15:08:52 959

原创 iOS学习之 plist文件的读存

//一、创建plist文件 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *plistpath = [paths objectAtIndex:0]; NSString *jyzPlist = [plistpa

2017-06-26 15:05:37 215

原创 ios 时间戳 当前时间 相互转化

//一、将当前事件转化成时间戳 NSDate *datenow = [NSDate date]; NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]]; UInt32 timeStamp = [timeSp intValue];

2017-06-26 14:59:02 631

原创 ios7之后的适配属性讲解edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars等

ios7版本之后,增加了很多新的属性,其中包括页面起始点从屏幕最左上角(0,0)点开始,这给页面适配带来了很大问题。首先说说纯代码页面:1、edgesForExtendedLayout这个属性我们字面上里面是四周延生,指定边缘要延伸的方向,IOS7鼓励全屏布局模式,默认值是UIRectEdgeAll。没用过的人可能不知道这是什么意思,举例假如我们页面上面有导航了,这个时候页面起

2017-06-26 09:36:13 298

原创 iOS设置translucent引发的导航栏色差和坐标问题

开发项目,在对导航栏barTintColor进行设置时。发现渲染出来的颜色和美工给的效果图会出现偏差,去找了一些资料。发现在iOS7系统以上导航栏多了一个translucent属性。这个属性就是设置导航栏是否具有透明度这个功能。translucent属性默认是YES,也就是具有透明属性。所以我们看到的导航栏背景色与美工给的会有很明显的色差。有两种解决方案:1、取消透明度:[

2017-06-26 09:19:26 1406

原创 做限时抢购的倒计时

思路:让后台传一个抢购截止的时间,然后你写一个方法与当前时间做比较,将相差的时间显示出来//定时器@property(nonatomic,strong)NSTimer *timedSpecialtimer;self.timedSpecialtimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@sel

2017-06-23 11:53:40 614

原创 富文本的使用(让字符串特定字符颜色不同和在字符串上划横线)

+ (NSMutableAttributedString *) transCurrentStr:(NSString *)currentString;{ NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:currentString]; [str addAttribut

2017-06-22 15:45:47 1814

原创 ios输入的数字如果前面有0,保留去掉0之后的数据

-(NSString*) getTheCorrectNum:(NSString*)tempString{    while ([tempString hasPrefix:@"0"])    {        tempString = [tempString substringFromIndex:1];    }        return tempString;}

2017-06-21 17:25:57 840

原创 -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance

-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance这个是由于传的参数类型不对所导致,找了半天才找到原因。比如[cell setColumnTitle:[homeData objectAtIndex:row]];这里是要传NSString类型,而其实返回的

2017-06-20 19:45:09 351

原创 用AFNetworking请求的时候GET正常,而POST时后台缺收不到数据,最坑的就是安卓还是正常的

原因一:后台的原因测试方法:http://www.atool.org/httptest.php   接口在线测试工具,在这个网站进行POST请求验证,如果是正常的基本就说明不是后台原因,而是你的原因原因二:(我用的是AFNetworking)你自己给AF设置了请求头text/mxl格式,然而AF默认的请求头并没有这个,所以你需要自己去AF

2017-06-19 10:28:32 6393

原创 解析数据出错:reason: '-[__NSCFArray bytes]: unrecognized selector sent to instance 0x18056b30'

原因是:第三方请求的方法里就已经有转过一次解析,responseObj 已经是NSArray了,不需要自己再去转换为json类型或是其他类型。解决办法:NSArrar* datas=(NSArrar*)responseObj ;

2017-06-19 10:13:21 711

原创 出现( linker command failed with exit code 1)错误总结

1、问题来源第一种,是你导入某一个三方库; 第 二种,是你在vim Podfile中删除或者屏蔽掉某一个三方库。2、解决方案(1)需要检查 或者检查这两处是否导入该库的路径。(2)对于删除三方库就是因为你之前导入的时候,已经在某些地方留下了该库的路径,但是闲杂删除了之后,

2017-06-09 17:44:41 2062

原创 iOS应用崩溃日志分析

做开发的过程中,调试时遇到什么bug,首先就是要定位bug在哪。此时,如果可以重现这个bug,能把设备接到电脑上调试是最好不过了。但是,但是能重现的bug一般一眼就能看出来是什么问题好么。最头疼的是,给测试设备上安装了app,然后去给策划或测试试玩,结果他们说程序闪退,但又不能重现出来。。。现在有办法解决这个问题了。需要如下三个步骤即可:1.取出或者查看设备上的崩溃日志。

2017-05-31 16:16:14 1170

原创 浅谈Masonry

在使用Masonry进行约束时,有一些是需要注意的。在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。在添加约束时初学者经常会出现一些错误,约束出现问题的原因一般就是两种:约束冲突和缺少约束。对于这两种问题,可以通过调试和log排查。之前使用Interface Builder添加约束,如果约束有错误直接就可以看出来,并且会以红色或者黄色警告体

2017-05-25 18:06:24 315

转载 谈Runtime机制和使用的整体化梳理

相比“凌波微步”的Swift,Object-C被誉为“如来神掌”。传说Runtime就是支持这“如来神掌”说法的最好体现。听起来总是这么的神秘高级,于是总能在各个论坛看到碎片资料,时间一长总记不住哪里是哪里,每次都要打开好几个网页。这种记不住象现显然是知识体系还不完整重要体现。还是自己从Runtime的思想到动手代码呈现上做出总结尚为上策。                       

2017-05-24 11:54:41 242

原创 本地 Mac 搭建 IPv6 测试环境

搭建 IPv6 测试环境说白了就是用 Mac 做一个热点,然后用 iPhone 连接这个 Wi-Fi。和正常的开启 Mac 热点的方式的区别是这次我们产生的是一个本地的 IPv6 DNS64/NAT64 网络,这项功能是 OS X 10.11 新加的功能(如果你的 Mac 系统版本不是的话必须要升级哦,才能产生 IPv6 的热点呐 )。步骤1 :打开系统偏好设置

2017-05-24 11:05:15 754

原创 App store 应用审核由于 IPv6 网络问题被拒的一点分析

先分析一下情况,很多开发者抱怨自己按照苹果给出的方法,在自己电脑上搭了 IPv6 的环境测试了,没有问题,为啥一提交审核就不行了呢?这里就要看一下本机搭的这个 IPv6 环境到底是怎么回事,它到底能验证什么。苹果提供的方法是帮我们创建一个 NAT64 的网络,这里先要搞清楚啥是 NAT64. 其实简单来说,就是这样的:所以,手机和 Mac 之间是 IPv6 没错,但 Mac

2017-05-24 10:58:39 736

原创 上下滚动的公告图

创建一个基于UIView的类.h文件中.h文件中#import @class GYChangeTextView;@protocol GYChangeTextViewDelegate //点击公告方法- (void)gyChangeTextView:(GYChangeTextView *)textView didTapedAtIndex:(NSInteger)in

2017-05-05 15:29:35 344

原创 _weak typeof(self) weakSelf = self

_weak typeof(self) weakSelf = self; (一)内存管理原则 1、默认strong,可选weak。strong下不管成员变量还是property,每次使用指针指向一个对象,等于自动调用retain(), 并对旧对象调用release(),所以设为nil等于release。 2、只要某个对象被任一strong指针指向,那么它将不会被销毁,否则立即释放,不用等

2017-05-05 15:00:39 242

原创 如何实现两个ViewController视图之间的透明效果

说一下怎么创建一个透明的控制器覆盖在老控制器上面(参考地址http://www.jianshu.com/p/1d0747c89664)如果A present B1、设置 A.definesPresentationContext = YES; 2、设置B.modalPresentationStyle = UIModalPresentationOverCurrentCont

2017-04-13 22:19:50 228

原创 iOS--LaunchImage启动页设置及问题解决

一.根据不同屏幕尺寸的需求设置不同的图片,可以参照下图:      1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image"      2.右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以及低版本的ios系统做支持二.取消系统默认使用的LaunchScreen,首先你要取消Use as Launch

2017-04-05 10:51:13 2738

原创 Duplicate interface definition for class 错误的原因

主要原因是因为在同一文件存在工程的不同的目录下,反复添加到工程里。造成重定义,解决办法是删除里重复的refrence就可以了。

2017-04-05 10:30:14 4788

原创 轮播图封装,使用时只需调用一个方法解决

1、自己创建一个继承UIView的分类.h文件中#import typedef void (^ImageViewClick)(NSInteger index);@interface JAScrollView : UIView@property (nonatomic,assign)BOOL isRunloop;//是否开启定时器 default NO@property (nonato

2017-03-29 16:21:19 349

原创 分栏控制器的背景颜色不知道为什么点击其中一个视图的时候背景颜色会改变,点击别的视图又会恢复正常如何解决

在创建UITabbarController的时候设置以下属性方法一:self.view.backgroundColor = [UIColor whiteColor];   方法二:[UITabBarappearance].translucent =NO;   //设置不透明至于是什么原因导致这样的,目前暂不知道,如果有哪位大神看到帖子且知道是因为

2017-03-29 15:47:34 284

原创 登录的时候如何保存账号密码在本地(通过钥匙串保存)

解决方法:通过钥匙串来保存使用cocoapods导入第三方SFHFKeychainUtils,里面有三个类方法(1)get取出密码(2)store保存密码(3)delete删除用户

2017-03-29 00:03:53 2522

原创 如何通过runtime更改系统默认的方法

以更改系统的URLWithString:方法为案例1、首先要用runtime要先在target-buildSetting中搜索msg,将出现的Enable Strict Checking of objc_msgSend Calls更改为NO2、创建一个继承于NSURL的分类,下面上代码(1).h文件里面声名自己创建的方法+ (instancetype)XC_UR

2017-03-28 16:01:33 268

原创 iOS中修改WebView默认的User Agent

在AppDelegate的-applicationDidFinishLaunching:方法中增加如下代码,修改默认User Agent@autoreleasepool {        UIWebView* tempWebView = [[UIWebViewalloc] initWithFrame:CGRectZero];        NSStrin

2017-03-23 17:48:45 899

原创 ios pch的正确使用

pch文件配置

2017-03-23 14:14:23 569

原创 iOS 开发 Pch 文件的正确使用1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能

pch文件作用1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能首先说一下pch的作用:1.存放一些全局的宏(整个项目中都用得上的宏)2.用来包含一些全部的头文件(整个项目中都用得上的头文件)3.能自动打开或者关闭日志输出功能如

2017-03-23 11:33:43 255

原创 如何简化UIView的位置和宽高

一:自定义一个UIView的拓展类.h文件中@property (nonatomic,assign) CGSize size;@property (nonatomic,assign) CGFloat width;@property (nonatomic,assign) CGFloat height;@property (nonatomic,a

2017-03-23 10:56:06 541

原创 自定义按钮拓展类,实现对按钮中图片和文字的任意布局

1、首先创建一个按钮的拓展类,Common+N,选择Object-C,点击确定后再选择Category,然后命名后确定创建2、贴上代码.h文件中#import <UIKit/UIKit.h>typedef NS_ENUM(NSUInteger, XCButtonEdgeInsetsStyle) { XCButtonEdgeInsetsStyleTop, ...

2017-03-23 10:46:29 454

原创 数据持久化(NSUserDefault、Plist)

一:NSUserDefault(存放在tmp文件里,临时的,每次重新启动该文件里的数据会全部清空)创建一个user defaults方法有多个,最简单得快速创建方法:   NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];添加数据到 user defaults:   [accountD

2017-03-23 10:28:35 1216

Mac版设计稿标注和测量神器:MarkMan – 马克鳗 专业破解版

Mac版设计稿标注和测量神器:MarkMan – 马克鳗 专业破解版

2018-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除