自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

石虎

的博客

  • 博客(117)
  • 收藏
  • 关注

原创 iOS SDAutoLayout(自动布局)~详解

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、概念    SDAutoLayout如果真的能够做到预计的方便使用,应该是很爽的,但是我个人觉得还是没有到那步。当然也可能是我的能力有限,很多东西都仅仅停留在表面,没办法,不太省心,又开源,又不想轻易放弃,只能啃源码了。优点1、语法简单(相比官方的语法,Masonry)

2017-07-31 08:36:52 2937

原创 iOS 打包ipa如何瘦身

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、概念项目里有一个h5页面需要原生化,这个页面有大量的本地图片,而这些图又用了2x、3x两套图,其中有些图片大到一张能达到好几M,最终的结果是ipa的包体积巨大无比。于是试了好些方法,终于把ipa的体积减小了很多。二、减小ipa包大小解决方法1、 从图片资源进行瘦身。(1) 对图片本身进行压缩。设计师在设计大的图片时对图片进行压缩...

2017-07-30 08:26:21 2138

原创 iOS NSLocale(本地化语言)

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄1.获取所有本地化语言标示符[NSLocale availableLocaleIdentifiers];2.获取当前系统语言标识符[[NSLocale currentLocale] localeIdentifier];3.获取本地化对象的具体内容

2017-07-29 22:01:34 3407

原创 iOS 国际化语言

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、获取系统所支持的国际化信息//iPhone中使用NSLocalizedString实现国际化[[NSLocale currentLocale] objectForKey:NSLocaleCountryCode];//在国际化之前,你可以在iphone中的”设置->通

2017-07-29 21:31:57 2496

原创 iOS 基本运算符~总结

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、算术运算  c语言一共有34种运算符,包括了常见的加减乘除  1.加法运算+    # 除了能做加法运算,还能表示正号:+5、+90  2.减法运算-    # 除了能做减法运算,还能表示符号:-10、-200  3.乘法运算*    # 注意符号,不是

2017-07-29 00:13:52 4310

原创 iOS UIGestureRecognizer(手势操作)~demo

     联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄                          QQ群:807236138  群称: iOS 技术交流学习群 一、概念 #import "ViewController.h"@interface ViewController ()<UIGestureRecognizerDelegate&gt...

2017-07-28 08:44:33 2405

原创 iOS UIGestureRecognizer(手势、单击、拖拽 、拖拽、旋转、轻扫 、长按、边缘滑动,功能介绍)~demo

     联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄                        QQ群:807236138  群称: iOS 技术交流学习群 #import "ViewController.h" @interface ViewController (){    UITapGestureRecognizer *_tap;   ...

2017-07-27 14:12:26 10642

原创 iOS 调整导航栏返回按钮的位置

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄#pragma mark - 创建返回按钮    //1.初始化按钮UIButton    UIButton * leftBtn = [UIButtonbuttonWithType:UIButtonTypeSystem];        //1.2设置位置    lef

2017-07-27 10:08:40 7490

原创 iOS UIGestureRecognize(手势放大 缩小 旋转 功能)~demo

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄/**注意点: 1.看 GIF 效果图.       2.看连线视图的效果图.       3.看实现代码(直接复制实现效果).*/一、GIF 效果图:二、连线视图的效果图:图1:三、实现代码:==

2017-07-26 11:24:28 3370

原创 iOS NSDictionary及NSArray初始化后nil指针的影响

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、reason(原因)总结reason *** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'reason *** -[__NSPlaceholderDictionary ini

2017-07-25 09:57:51 3290

原创 iOS 属性传值(正传方式)~demo

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄/**注意点: 1.看 GIF 效果图.       2.看连线视图的效果图.       3.看实现代码(直接赋值实现效果).*/一、GIF 效果图:二、连线视图的效果图:图1:图2:三、实现代码:

2017-07-24 14:10:14 4428 1

原创 iOS runTime运行时机制

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄运行时机制不同级别的语言-在计算机上只有0和1=>本身在计算机上执行的程序都是机器码,一堆二进制的指令!-汇编语言-C语言(被成为最接近汇编的一门语言)-面向过程的-一旦程序复杂之后,维护起来非常可怕!-面向对象语言 C++/Java/C#/OC-脚本语言

2017-07-23 23:20:52 2505

转载 iOS 如何优化项目

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄前言在项目业务趋于稳定的时候,开发完迭代需求后,我们可能会无所适从,进入一段空白期,但是对于攻城狮来说闲暇不是件好事,所以我们可能总想学点什么,却又没有头绪。这个时候我们就可以考虑完善和优化我们的项目了。从中可以运用到一些底层RunLoop或者Runtime的知识,熟能生巧总是没错的。

2017-07-22 17:08:58 510

转载 iOS UITextField系统警告问题~已解决

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄在iOS 8 以后,我们在使用弹窗时会遇到一个未知的打印,如下图所示:未知的打印// 相关的使用代码如下[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

2017-07-22 17:01:30 731

转载 iOS 横竖屏旋转处理

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、监听屏幕旋转方向在处理iOS横竖屏时,经常会和UIDeviceOrientation、UIInterfaceOrientation和UIInterfaceOrientationMask这三个枚举类型打交道,它们从不同角度描述了屏幕旋转方向。1、UIDeviceOrienta

2017-07-22 16:56:14 1056

原创 iOS NSNotification(通知)传值~demo

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄/**注意点: 1.看 GIF 效果图.       2.看连线视图的效果图.       3.看实现代码(直接赋值实现效果).*/一、GIF 效果图:二、连线视图的效果图:图1:图2:三、实现代码:=======================

2017-07-22 11:11:09 12167

原创 iOS #pragma mark - 标志

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄/**注意点:    1. #pragma mark – 的“-”后面不能有空格。  2.如果你的标志没有出现在弹出菜单中,比如没有分隔线出现,请在Xcode菜单 “Preferences..”中的 “Code Sense”选项取消选中”Sort list alphabetical

2017-07-22 08:45:04 1443

原创 iOS Xcode下的绝对路径和相对路径

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一般我们在xcode中添加头文件,或者添加pch文件时候,这时候就需要用到相对路径和绝对路径这两个概念了。首先我们需要简单了解一下什么是绝对路径和相对路径。相对路径实际就是调用当前目录下面的文件,绝对路径跟相对路径一样调用文件,但绝对路径是一个固定地址。简单举个例子介绍一下,例如我在桌面建一个aa的文件夹,里面一

2017-07-21 16:23:10 3190

翻译 iOS CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄CABasicAnimation类的使用方式就是基本的关键帧动画。所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画的起始帧和结束帧,然后自动计算和实现中间的过渡动画的一种动画方式。CABasicAnimation的基本使用顺序1.引用QuartzCore.frame

2017-07-21 16:17:36 7395

转载 iOS NSDictionary,JSON和XML互相转换

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    [self test];    // Override point for

2017-07-21 16:11:34 1337

原创 iOS NSDictionary(字典)或者NSArray(数组)和JSON串的转换

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下:// 将字典或者数组转化为JSON串+ (NSData *)toJSONData:(id)theData{ NSError *error = nil; NSData *jsonData = [NSJSONSe

2017-07-21 16:05:33 1669

原创 iOS ASIFormDataRequest使用

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、概念ASIHTTPRequest类库中的ASIFormDataRequest是实现HTTP协议中的处理POST表单的很好的类库。使用起来非常简单。下面简要总结其用法。在说明之前先需要了解HTTP请求的Get和Post方法。Get方法一般是从服务器获取数据,而Post方法主要是向服务器传

2017-07-21 09:54:39 516

原创 iOS 使用字典NSMutableDictionary保存数据到文件(持久化)~ Swift

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄iOS保存数据有很多种方式,这里提供一种使用字典保存数据的方法直接上代码[objc] view plain copy//构建文件路径   let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDir

2017-07-20 14:27:36 1971

原创 iOS NSMutableData和NSData常用操作

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄NSData               是不可变二进制数据NSMutableData   是可变的二进制数据NSData创建后不可以再修改,NSMutableData可以再次修改。NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用

2017-07-20 14:13:38 4021

原创 iOS app崩溃率,如何解决线上闪退

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄1.如何追踪app崩溃率,如何解决线上闪退当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上。crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因。通常来说,cr

2017-07-19 22:54:10 4398

原创 iOS __block和__weak的区别

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄API Reference对__block变量修饰符有如下几处解释://A powerful feature of blocks is that they can modify variables in the same lexical scope. You signal that a block can m

2017-07-19 22:47:54 2051

原创 iOS app之间的跳转以及传参数

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。1.首先设置第一个APP的url地址2.接着设置第二个APP的url地址 3.需要跳转的时候NSString *

2017-07-19 22:41:18 978

转载 iOS 扫一扫功能开发

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄之前很多二维码扫描都是基于zxing做的,但是zxing用起来真的很麻烦,又一直不更新。随着iOS6退出历史舞台,终于可以使用iOS7以后,用系统的AVFoundation做的二维码扫描器了。初始化相机,扫描器 - (void)setupCamera{ dispatch_async(dispatch_g

2017-07-19 22:36:29 562

原创 iOS QQ侧滑菜单(高仿)

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄UITabBarController做QQ侧滑菜单效果:首先要了解UITabBarController的层级结构:UITabBarController加载的其它UIViewController的View都是被添加在UITransitionView上(这是一个私有API),UITransitio

2017-07-19 22:26:31 1044

原创 iOS ASI和AFN有什么区别

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄ASI和AFN有什么区别1.性能(重点)* ASI基于底层的CFNetwork框架* AFN基于NSURLConnection* 运行性能: ASI > AFN 2.处理服务器数据1> AFN : 根据服务器返回数据的数据, 进行自动解析*

2017-07-18 22:32:16 735

原创 iOS AFN 3.0版本前后区别 02

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一.前言AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetwo

2017-07-18 22:25:08 866

原创 iOS AFN 3.0版本前后区别 01

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、AFN 版本的概念在AFNetworking 3.0之前,底层是通过封装NSURLConnection来实现的。 在AFNetworking 3.0之后,也就是在iOS 9.0 之后,NSURLConnection被弃用,苹果推荐使用NSURLSession来管理网络请求,所以AFNetworking

2017-07-18 22:20:02 587

原创 iOS 序列化与反序列化(runtime) 02

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、runtime: iOS序列化与反序列化利器1.1 总体思路观察上面的initWithCoder代码我们可以发现,序列化与反序列化中最重要的环节是遍历类的变量,保证不能遗漏。这里需要特别注意的是:编解码的范围不能仅仅是自身类的变量,还应当把除NSObject类外的所有层级父类的属性变量也进行编解码

2017-07-18 22:12:46 419

原创 iOS 序列化与反序列化(runtime) 01

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄一、变量声明为便于下文讨论,提前创建父类Biology以及子类Person:Biology:@interface Biology : NSObject{ NSInteger *_hairCountInBiology;}@property (nonatomic, copy) NSString *i

2017-07-18 22:04:31 442

转载 iOS 对象序列化与反序列化

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄概述在IOS中,对象的序列化和反序列化分别使用NSKeyedArchiver和NSKeyedUnarchiver两个类,我们可以把一个类对象进行序列化然后保存到文件中,使用时再读取文件,把内容反序列化出来。这个过程通常也被称为对象的编码(归档)和解码(解档)。需要注意的是,NSKeyedArchi

2017-07-18 21:59:12 413

原创 iOS 序列化和反序列化

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄前言1到底这个序列化有啥作用?面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话) 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进

2017-07-18 21:48:58 401

转载 iOS QQ中未读气泡拖拽消失的实现分析(KittenYang)

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄QQ中针对强迫症有个很棒的交互,对于那些暂时不想理会的未读信息气泡,可以直接手指拖拽去掉。今天我们就来重现一下这个功能。最终用到一个项目中的效果类似这样。说到实时的形变,我立马想到的还是 CADisplayLink + UIBezierPath 的神奇组合!具体细节可以参考

2017-07-17 21:28:08 1857

原创 iOS 手机QQ拖拽消除未读消息特效("一键下班"功能)相关资源汇总

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄作为一个iOS Developer,看到手机QQ的未读消息数目显示可以像橡皮糖一样被拉伸的效果,都会感觉手指很痒,很想马上用自己的代码去实现一下,如果功夫不够深,真正去做的时候,还是有点力不从心,我就是这一类的开发者,还是谷歌找高手的资源,非常感谢这些作者的分享。1

2017-07-17 21:22:54 1401

转载 iOS开发:面向协议编程与 Cocoa 的邂逅 (上)

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄喵神原文地址:https://onevcat.com/2016/11/pop-cocoa-1/本文是笔者在 MDCC 16 (移动开发者大会) 上 iOS 专场中的主题演讲的文字整理。您可以在这里找到演讲使用的 Keynote,部分示例代码可以在 MDCC 2016 的官方 repo 中找到。

2017-07-17 21:17:19 673

转载 iOS 高效添加圆角效果实战讲解

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题。我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错误。本文总结整理了一些知识点,概括如下:

2017-07-17 21:10:52 392

空空如也

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

TA关注的人

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