自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 获取iOS系统是24小时制或者12小时制

获取系统是24小时制或者12小时制NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];NSRange containsA = [formatStringForHours rangeOfString:@"a"];B

2016-08-01 19:56:39 1612

原创 iOS打开第三方应用

打开第三方应用每个程序都有一个UIApplication,它在程序中以单例的形式存在,如果再创建一个UIApplication会报错误提示,可以通过以下方法来获取程序的UIApplicationUIApplication *application = [UIApplication sharedApplication];UIApplication可以通过 OpenURL 方法来调用第三方应用,先说一

2016-08-01 19:55:53 678

原创 MD5加密

MD5加密-(NSString *)md5:(NSString *)str{const char *cStr = [str UTF8String];unsigned char result[16];CC_MD5(cStr, (int)strlen(cStr), result); // This is the md5 callreturn [NSString stringWithFormat

2016-08-01 19:54:24 233

原创 iOS动画效果 CATransition

iOS动画效果 CATransitionCATransition *transition = [CATransition animation]; transition.delegate = self; transition.duration = 2.0f; transition.timingFunction = [CAMediaTimingFunction functionWithN

2016-08-01 19:49:27 194

原创 iOS视图的生命周期

视图的生命周期viewDidLoad 载入完成 viewWillAppear 即将出现 viewDidAppear 在屏幕上渲染完成viewWillDisappear 即将移除 viewDidDisappear 已经移除 dealloc 视图被销毁

2016-08-01 19:48:59 160

原创 根视图导航栏透明效果,跳转的页面取消导航栏透明效果

根视图导航栏透明效果,跳转的页面取消导航栏透明效果想让导航栏透明,self.navigationController.navigationBar.barTintColor 这个方法设置了clearColor之后只会让导航栏变黑并不会有透明的显示self.view的效果,因为self.view是在viewController中,viewController又被压入到了导航栏的栈中,属于NAV的子控制

2016-08-01 19:48:42 354

原创 重写导航栏返回方法

重写导航栏返回方法如果自定义了一个leftBarBtnItem的话,会覆盖原来默认的导航栏返回键,并且会使左侧滑动返回上一页面功能失效。如果想要定制返回键,并且能够保有原来的左侧滑动返回功能,可以在需要左侧返回的控制器中添加代码self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;这样就可以有左侧滑

2016-08-01 19:45:17 751

原创 给ScrollView添加touches点击事件

给ScrollView添加touches点击事件正常情况下view上的touches点击事件是不能在scrollView上触发的,如果要实现,可以给scrollView添加点击手势,然后捕获点击坐标点UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap

2016-08-01 19:40:56 556

原创 取数组中的最大值

取数组中的最大值iOS中提供了一种便捷的数组求和、求最大最小值以及平均值的方法,当然还有其他的,我看官方文档的时候粗略看了一下,其他的那几个英文单词看不懂就不研究了int max = [[array valueForKeyPath:@"@max.intValue"] integerValue];同理,最小值就把max改成min 求平均值 avg 求和 sum[[array valueForKe

2016-08-01 18:00:46 434

原创 关于 static 关键字

关于 static 关键字static BOOL fuck = NO;if (!fuck) { NSLog(@"fuck"); fuck = YES;}这里的意思是fuck这个变量只会创建一次,不同于局部变量很快消亡的性质,会被存储到该类中,除非该类消亡,否则将一直存在,所以这段话的意思是fuck被创建并且赋予了NO之后,会执行一次if方法,更改变量的值为YES,当下次再次进入

2016-08-01 17:58:36 133

原创 给view特定位置圆角

给view特定位置圆角UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120, 100, 80, 80)];view2.backgroundColor = [UIColor blackColor];[self.view addSubview,:view2];下面是通过贝塞尔曲线自定义一个layer,设置这个layer的遮盖,这里

2016-08-01 17:58:01 228

原创 关于 removeFromSuperview

关于 removeFromSuperview当一个视图执行了 removeFromSuperview 之后,页面上它是消失了,但是我偶然间通过懒加载的机制发现,它的指针还存在,就是它执行了 removeFromSuperview 之后还是不等于nil的。所以想要彻底移除一个视图,除了removeFromSuperview之外还需要将其置于nil(也不知道对不对。。)

2016-08-01 17:50:49 338

原创 UI不马上更新的问题

UI不马上更新的问题iOS中只有主线程才能马上更新UI。 比如说如果tableView的reloadData放在了子线程中,那么不会马上刷新,需要滑动tableView才可以执行reloadData方法。如果tableView在子线程中需要及时更新,可以获取主线程,在主线程中进行dispatch_sync(dispatch_get_main_queue(), ^{

2016-08-01 17:49:50 330

原创 去除tableView底部多余的线

去除tableView底部多余的线如果tableView太高,而有数据的cell却只有几行,就会出现多余的线,可以通过下面的方法去掉tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; //去除tableView底部多余的线

2016-08-01 17:49:05 1019

原创 更改UIAlertAction的字体颜色

更改UIAlertAction的字体颜色[action setValue:[UIColor colorWithWhite:0.000 alpha:0.500] forKey:@”titleTextColor”]; titleTextColor 变成_titleTextColor也可以

2016-08-01 17:47:52 4468

原创 取消iOS对图片的渲染

取消iOS对图片的渲染当添加图片到导航栏或者tabBar上的时候,会被渲染成蓝色,为了展示原图,在image后面加上 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal就行了具体为[[UIImage imageNamed:@"exercise_set"] imageWithRenderingMode:UIImageRenderingM

2016-08-01 17:47:19 429

原创 导航栏标题颜色

导航栏标题颜色 self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1] };

2016-08-01 17:45:07 205

原创 关于导航栏影响ScrollView布局的问题

关于导航栏影响ScrollView布局的问题在iOS7或以上的时候,如果某个ViewController的self.view的第一个子视图是UIScrollView,并且这个控制器存在导航栏的时候,那么这个控制器的view的第一个子视图UIScrollView的所有子视图都会向下移64个像素点,(导航栏44,状态栏20),解决方法: 1.重写viewController的init方法,增加self

2016-08-01 17:44:34 295

转载 NSDateFormatter 格式说明

NSDateFormatter 格式说明格式化参数如下:
 G: 公元时代,例如AD公元
 yyyy: 完整年
 MM: 月,显示为1-12
 MMMM: 月,显示为英文月份全称,如 Janualy
 dd: 日,2位数表示,如02
 d: 日,1-2位显示,如 2
 EEEE: 全写星期几,如Sunday
 aa: 上下午,AM/PM
 H: 时,24小时制,0-23

2016-08-01 17:42:17 197

原创 画虚线

画虚线CGContextRef context =UIGraphicsGetCurrentContext();//获取画布 CGContextBeginPath(context);//开始绘制 CGContextSetLineWidth(context, 2.0);//画笔宽度 CGContextSetStrokeColorWithColor(context,

2016-08-01 17:38:29 337

原创 Label文本随宽度自适应

Label文本随宽度自适应label.adjustsFontSizeToFitWidth = YES;

2016-08-01 17:36:25 1971

原创 系统集成分享功能

系统集成分享功能//分享按钮- (IBAction)btnAction:(id)sender { NSLog(@"打开分享列表"); NSString *string = @"分享测试"; UIImage *imageToShare = image;//这里是分享的图片 UIActivityViewController *activityVC = [[UIActivity

2016-08-01 17:35:49 173

原创 btn的拖动

btn的拖动- (void)dragMoving:(UIControl *)control withEvent:(UIEvent *)event{ control.center = [[[event allTouches] anyObject] locationInView:self.view];}添加方法即可[btn addTarget:self action:@selector(s

2016-08-01 17:33:06 145

原创 循环动画

循环动画,第一个动画执行完毕后执行第二个动画,第二个动画执行完毕后重新执行动画方法- (void)animation{ [UIView animateWithDuration:0.5 animations:^{ [test setBounds:CGRectMake(0, 0, 25, 25)]; [test setBackgroundColor:[UICol

2016-08-01 17:30:07 172

原创 动画结束后保存状态

rotation.fillMode=kCAFillModeForwards; rotation.removedOnCompletion = NO;rotation是动画名称,在动画结束后,默认会回到初始UI样式,添加上面代码能使其动画结束后保存状态

2016-08-01 16:46:48 347

原创 log输出在哪个类的哪个方法执行

在log的时候会带上当前类及方法名,方便定位NSLog(@“%s”,FUNCTION);

2016-08-01 16:44:56 546

原创 将view转换成image

//将view转换成image- (UIImage *)getImageWithTheView:(UIView *)theView{UIGraphicsBeginImageContextWithOptions(theView.bounds.size, YES, 0);[theView drawViewHierarchyInRect:theView.bounds afterScreenUpdates

2016-08-01 16:43:25 309

转载 UIView的autoresizingMask属性

UIView的autoresizingMask属性是一个枚举值,属性的意思就是自动调整子控件与父控件中间的位置,宽高。可当做是一种约束 enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFl

2016-08-01 16:42:27 91

原创 本地git以及网络gitHub相关指令

这篇文章更主要的是个人作的备忘记录本地git==================创建本地远程仓库先注册$ git config —global user.name Rick$ git config —global user.email Rick@gmail.com1.创建文件夹,经理,远程仓库,Double2.终端$ cd 远程仓库 git init –bare3.将远程仓库分别克隆到经理,Doub

2016-05-07 16:48:40 153

原创 iOS 网络适配

在最新的iOS开发中,已经不支持app进行HTTP的请求,改为更加安全的HTTPS,如果仍然需要进行HTTP请求,则可以在info.plist文件中添加下面的代码<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>

2016-05-07 16:46:48 147

原创 Xcode中如何检测循环引用

使用Xcode检测循环引用Analyze(静态分析)Analyze主要分析以下四种问题:1.逻辑错误:访问空指针或为初始化的变量等;2.内存管理错误,如内存泄露等;3.声明错误:从未使用过的变量;4.API调用错误:未包含使用的库和框架Analyze的主要优势在于静态分析 内存泄露 及 代码逻辑错误分析内存泄露不能把所有的内存泄露检查出来,有的内存泄露是运行时,用户操作产生的。Leaks工

2016-05-07 16:44:10 680

原创 数据库SQL的操作指令

数据库SQL的操作指令这里主要讲第三方库FMDB的使用,因为OC没有和SQL有很好的耦合,除非是使用CoreDataFMDB导入头文件import FMDB的操作在使用数据库的时候,一般我们只需要进行增删改查的操作这里有4个方法//打开数据库+(FMDatabase *)openDB;//查找数据+(NSArray *)find;//插入数据+(BOOL)insertModel:(Model

2016-05-07 16:37:47 285

原创 面试题2(个人心得体会)

面试题(2)1.SDKSDK即第三方组件,可以使用经过授权的SDK进行程序开发,常见的有验证码、第三方分享、支付功能、通讯功能,或者第三方地图SDK等2.Foundation、UIKit、AVFoundation,MapKit、CoreLocation,CALayer为系统的内置框架,这里说一下iOS程序的4大层,设备层为设备与函数之间的交互,这方面由苹果封装,不需要开发人员处理;数据层,进行相关数

2016-05-07 16:22:02 360

原创 如何在Xcode中获取真机文件路径

如何在Xcode中获取真机文件路径1.真机接入2.Xcode中window-devices-选中模拟器还是手机-点击需要获取的app-在设置键中点击下载,即可将该文件路径下载,在桌面上时,右键显示包内容即可

2016-05-06 13:53:47 1865

原创 重置版内涵段子开发体会

重置版内涵段子开发体会1.用可变数组做的测试,给该数组初始化,可以成功赋值,当该数组 = nil 的时候,就不能赋值了,说明系统已经在该数组变为nil的时候将其释放掉了2.在多个控制器通用一个AFNetWork发送通知的时候,会出现卡CPU的情况,原因可能在于同时发送消息,导致系统负荷,解决方案为在发通知的时候处理,谁请求数据,发通知给谁3.在第一次获取数据的时候显示正常,第二次从本地接收数据的时候

2016-05-06 13:53:19 314

原创 趣闻段子开发中遇到的问题以及心得体会

内涵段子项目过程心得体会记录临时想到要记,可能有些遗漏,但总比没有好1.scrollView嵌套ViewController的时候,在传值方面出现问题,平常的属性、协议方法传值失效,原因是因为ViewController 的初始化方法从ViewController *viewController = [ViewController alloc]init];变成了自定义的方法,所以平时的传值不能正常使

2016-05-06 13:52:57 356

原创 iOS面试题(个人心得体会)1

面试题1.面向对象的理解面向对象有三大特征:封装、继承和多态封装是指类把所有的操作封闭起来,仅仅提供接口让其他人使用,使用的人没有必要知道实现的方法,只需要知道如何使用该接口就行了继承是指一个类继承了一个父类,那么该子类就有了其父类的所有特性,同时该子类也可以自行添加自己独有的功能多态,简单来说就是不同对象面对同样方法的时候会出现不同的响应方式2.多线程首先多线程一般的用处是在异步加载的时候,即在出

2016-05-06 13:51:13 449

原创 UILabel

UILabelUILabel是我学的第一个控件,在做控件之前是学习OC编程语言的,OC编程语言的笔记平时再积累吧,目前主要还是讲学到的UI控件的一些属性啊,使用方法啊,注意事项啊都做做笔记,当然有时候会遗漏一些,那就发现了或者有时间再补充修改吧。//UILabel的初始化UILabel *label = [UILabel alloc]initWithFrame:<#(CGRect)#>];labe

2016-04-08 00:21:47 193

原创 Double 的第一篇博客

Double 的第一篇博客学习iOS开发也有一段时间了,俗话说好记性不如烂笔头,学的东西太多,有没有时间整理出个大概,那就趁有时间的时候做做笔记吧。关于OC的许多概念性问题其实是蛮重要的,在写这篇文章的时候也只是一个入门阶段,会用数组字典,会用一些UI控件,但熟练的也只是一些步骤,好比在前段时间做iOS地图项目的时候,需要的函数都查询到了,使用的方法也了解了,就以为项目完成了大半,但当真正做一个完整

2016-04-08 00:08:30 198

空空如也

空空如也

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

TA关注的人

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