- 博客(24)
- 收藏
- 关注
原创 iOS 键盘通知(NSNotificationCenter)正确使用
键盘通知是通过 NSNotificationCenter通知中心 UIKeyboardWillShowNotification、 UIKeyboardDidShowNotification、UIKeyboardDidHideNotification、 UIKeyboardDidHideNotification 四种常用的通知实现的. 通知是一种消息机制,addObserver与
2016-11-12 13:38:04 7207
原创 iOS 图片压缩策略
前一段部门为了统一规范, 要一个通用的图片压缩的逻辑, 于是就参考了网上晒出来的微信等APP的压缩逻辑,封装了一个图片压缩的逻辑类,拿出来给大家分享一下~图片压缩的逻辑: 首先进行图片的尺寸压缩 再进行图片的质量压缩 一:图片尺寸压缩 主要分为以下几种情况 一般参照像素为1280 a.图片宽高均≤1280px时,图片尺寸保持不变; b.宽或高均>1280px时 —
2016-10-09 18:35:11 2410
原创 iOS 崩溃日志 收集与发送服务器
iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,我们可以很快的定位异常的位置并解决问题。那么当应用已经打包,iPhone设备通过ipa的包安装应用后,在使用过程发现crash,那么如何获取crash日志呢?对于保密性要求不高的程序来说,也可以选择各种一条龙Crash统计产品,如 Crashlytics,Hockeyapp ,友盟,Bugly 等等,不过IOS
2016-08-10 17:55:41 14208 7
原创 iOS 设备的唯一标识符最新
**现在苹果明确的表明你应该使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]来作为你框架和应用的唯一标示符。坦白的来说,应对这些变化也不是那么的难,见以下代码片段:NSString *identifierForVendor = [[UIDevice currentDevice].identi
2016-08-10 15:26:06 788
原创 iOS AVPlayer后台播放的实现
实现后台播放的步骤 ##一: 在appDelegate中通知app支持后台播放 二:在info.plist文件中添加一个key项,防止程序进入后台时程序被 suspend 三:在播放控制界面接受远程控制 四:对远程控制事件作出相应的操作实现步骤第一步:在appDelegate中通知app支持后台播放 // 告诉app支持后台播放 AVAudioSession
2016-08-04 18:57:03 5540
原创 Xcode中other linker flags的作用
使用场景 在ios开发中,我们经常会使用到第三方的一些静态库,导入第三方类库运行程序后你会发现,编译时可以正常编译但是运行时会app会闪退,报出selector not recognized的错误。一般的第三方库的开发文档中都会写出这种问题的解决方法,如在Other Linker Flags中加入-ObjC或者-all_load或者-force_load这样的解决方法。为什要这要做呢?报错
2016-08-01 15:55:51 9962
原创 NSPredicate模糊查询
NSPredicate一般用在通讯录,城市,等一些情景的模糊查询,通过制定的过滤条件,分拣出符合条件的对象. 根据最近写的一个模糊查询表单名的一个使用场景进行描述 // searchBar的代理方法 文本发生变化的时候- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{ // 创建
2016-07-14 18:44:15 2826
原创 iOS 拍照和视频录制(UIImagePickerController)
下面看一下在iOS如何拍照和录制视频。在iOS中要拍照和录制视频最简单的方法就是使用UIImagePickerController。UIImagePickerController继承于UINavigationController,前面的文章中主要使用它来选取照片,其实UIImagePickerController的功能不仅如此,它还可以用来拍照和录制视频。首先看一下这个类常用的属性和方法://属性
2016-03-14 13:17:52 1013
转载 iOS 视频播放
在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频播放。这个类实现了MPMediaPlayback协议,因此具备一般的播放器控制功能,例如播放、暂停、停止等。但是MPMediaPlayerController自身并不是一个完整的视图控制器,如果要在UI中展示视频需要将view属性添加到界面中。下面列
2016-03-14 13:09:09 1495
原创 iOS 画虚线的两种方法
下面介绍两种在开发中经常使用的两种画虚线的方法. 方法一 // 画虚线// 创建一个imageView 高度是你想要的虚线的高度 一般设为2 _lineImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, kScreenWidth, 2)]; // 调用方法 返回的iamge就是虚线 _lineImg.image
2015-12-25 19:17:04 8829
原创 iOS 计算应用缓存大小
我们的应用的缓存都存在caches文件夹下 一般的缓存指的是caches文件夹下的文件大小 以及使SDWebImage产生的图片缓存 下面是计算缓存的步骤第一步 得到caches文件的路径NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firs
2015-11-08 12:12:08 1491
原创 iOS 清除缓存
一般的我们的缓存文件都储存在沙盒的caches文件下 清除缓存一般是清楚caches文件下的文件以及SDWebImage产生的图片缓存 第一步 我们首先得到caches文件夹的路径NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObje
2015-11-08 12:04:10 703
原创 iOS JSONModel使用详解
JSONModel 是一个库,他能智能并且快速的创建出数据 model,你可以在你的 iOS 项目或者 OSX 项目上使用它. JSONModel使用方法 1*创建一个你自己的类,并继承至 JSONModel 2.在你的头文件里面进行声明你所需要的 JSON key值 3* .m文件中你不需要做其他的事情了.接下来简单介绍一下 JSONModel的一些常规使用法则 1. JSONM
2015-11-05 18:37:44 9603 1
转载 iOS CocoaPods安装方法
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,例如 高德地图和百度地图的SDK, 就会使用到很多静态库, 手动导入会很麻烦,CocoaPods应该是iOS最常用最有名的类库管理工具了,通过cocoaPods,只需要一行命令就
2015-10-28 11:57:54 669 1
原创 iOS NSRunLoop跟NSTimer的问题
我们首先来了解一下什么是NSRunLoop 1.NSRunLoop是IOS消息机制的处理模式 NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。 2.NSRunLoop 就是一直在循环检测,从线程start到线程end,检测inputsource(如点击,双击等操
2015-10-27 21:05:39 570
转载 iOS Swift混编详解
Swift特点之一是可以与OC进行混编,这样我们才更容易接受,混编的方法在API里面是有介绍的:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html下面简单操作一下 1、创建一个Swift或者是OC的工程 下面以Swi
2015-10-24 13:08:25 1007
原创 iOS Swift字符串截取
Swift的字符串截取由三种方式下面我们一次介绍 方式一 根据index进行简单截取 // 声明一个字符串 Swift中字符串的类型是String类型var strTest = "01224312"// 得到第一个字符的indexvar index = strTest.dstartIndex// 得到最后一个字符的indexvar index_end = strTest.endInde
2015-10-22 20:50:27 3380
原创 iOS AVPlayer播放模式的实现(随机播放 列表循环 单曲循环)
实现播放模式的思路: 1.通过点击按钮 弹出来一个下弹窗 可以选择播放模式 声明一个全局变量 不同的点击全局变量的值改变 全局变量默认的播放模式是列表循环 2.在音乐播放完毕的时候调用方法 根据不同的全局变量 实现不同的操作第一步 实现button的点击方法 通过点击不同的下弹窗的值改变全局变量/ 模式typeButton的点击方法的实现- (void)actionTypeButton:(U
2015-10-05 23:32:55 15723 3
原创 iOS XIB以及Storyboard的部分使用方法
在我们的工作中很多时候使用拖控件的方式搭建一些界面,可以比较直观的将界面展现在你的眼前,也很方便,但是中间的关系以及拖线比较繁杂,一旦出现问题不太好找bug,但是实现一些相对简单的界面还是很方便的,下面就介绍一些简单是使用方法.第一 :给控制器添加NavigationController 点击要设置控制器的左上角第一个按钮 点屏幕上的Editor 然后点击Embed in
2015-10-05 23:19:04 1589
原创 iOS 多线程的实现与使用(NSThread, NSOperation, GCD)
首先我们先对进程,线程,多线程有个了解 进程:一个正在运行的程序 叫一个进程多进程:多个程序正在运行 叫多进程线程:一个程序 或者说 一个进程 都会有一个 或多个线程 如果有一个 我们叫他主线程 主线程负责用户能看见的任务 例如 添加控件 刷新界面 除了主线程以外,都叫子线程, 线程之间是独立的 并没有任何联系 子线程一般 负责 用户不直接看见的任务 例如 加载图片的过程 下载视频等使用多线程最
2015-09-30 21:39:09 1120 2
原创 iOS 动画之CALayer动画
CALayer动画 CAPropertyAnimation 抽象类 一般使用下面这两个方法进行实现动画 CABasicAnimation 基础的动画 更改大小 旋转 等 CAKeyframeAnimation 主要按轨迹移动 更改位置 比如 执行一组动画时 使用 背景颜色CABasicAnimation 基本步骤 1.创建一个基础动画 // 以旋转为例 // 参数 要
2015-09-23 22:46:53 726 3
原创 iOS UIAlertController 弹框 (ios 9.0 后代替了UIAlertView弹框 和 UIActionSheet下弹框)
UIALertController 弹框 代替UIAlertView 和 UIActionSheet在IOS 9.0 后 苹果官方宣布不再或不推荐使用UIAlertView 和 UIActionSheet 由UIAlertController进行代替两者 用控制器将两者合二为一 很简单 方便 下面就是关于UIAlertView的常用方法
2015-09-19 21:06:34 983 2
原创 iOS UIGestureRecognizer手势总结
手势识别器这个类 是一个抽象类 自己本身不实现什么具体功能 具体功能都是由其子类去完成的 下面就通过对图片的一下操作介绍一下
2015-09-19 09:28:16 839
原创 iOS MKMapView简单介绍
#import "ViewController.h"#import "MyAnnotation.h"@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; // 打开地图 [self addMapView]; // 调用自带导航 // [self useMapNavigat
2015-09-18 19:15:46 1067 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人