- 博客(16)
- 收藏
- 关注
原创 iOS录制音频+距离感应+转MP3格式
1、录制音频首先配置音频参数,为了保证能转mp3格式: //录音设置 NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init]; //设置录音格式 AVFormatIDKey==kAudioFormatLinearPCM [recordSetting setValue:[NSNumber
2017-07-23 17:13:56 549
原创 iOS 基于ColorMatrix制作简单滤镜
说到滤镜一般比较熟悉的是CIFilter、GPUImage、vImage API还有一种比较简单的滤镜ColorMatrix。 之前在项目中一个小功能要加滤镜,需求是要够用,方便。在没有考虑直接用第三方滤镜的情况下,最后还是选择使用ColorMatrix来完成任务。并且这个方案安卓和iOS通用,如果花时间做一套颜色矩阵,成本将降低很多。1、颜色矩阵lomo和黑白我做了细微调整,会稍微舒服一些:co
2017-07-19 11:07:35 1373
原创 KVO 的实现原理
概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则其观察者就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。KVO其实也是“观察者”设计模式的一种应用。这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑与视图控制 这两个功能的解耦合。例子:#import "ViewController.h"#i
2017-01-20 16:33:42 559
原创 Objective-C:理解Category
1、 category简介category是Objective-C 2.0之后添加的语言特性,category的主要作用是为已经存在的类添加方法。除此之外,apple还推荐了category的另外两个使用场景1可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,a)可以减少单个文件的体积 b)可以把不同的功能组织到不同的category里 c)可以由多个开发者共同完成一个类 d)可以
2017-01-20 15:29:24 356
原创 iOS多图合成一张
之前有一个小的需求,分享一张长图。于是琢磨了一下做了一个类别,分享一下方法:@implementation UIImage (CompossImages)+ (UIImage *)composeImages:(NSArray<UIImage *> *)arr{ //间隔 int margin = 20; //左右间距 int marginL = 15; //合
2016-10-27 10:42:22 748 1
原创 iOS图片翻转处理
在处理图片的过程中发现一个有意思的事情,就是有得图片选择后是呈90度翻转或者-90度翻转的情况。有得时候确实也莫名其妙。尤其是手机拍照做裁切之后,就会莫名其妙翻转。找到了解决办法在这里分享一下:- (UIImage *)cropImage:(UIImage*)image toRect:(CGRect)rect { CGFloat (^rad)(CGFloat) = ^CGFloat(CGFl
2016-10-27 10:39:17 593
原创 iOS处理系统相册裁剪后图片
在系统应用里面的“照片”中,可以编辑图片选择裁剪或旋转角度。这个功能可能大家用得很少,所以在处理照片时没有遇到什么问题。今天发现经过系统工具裁剪或者旋转的图片在处理上需要注意一点:将此图(PHAsset)转成UIImage:- (PHImageRequestID)requestImageForAsset:(PHAsset *)asset targetSize:(CGSize)targetSize c
2016-10-26 18:15:15 1379
转载 AppDelegate中几个常用的回调调用时机
– (void)applicationDidFinishLaunching:(UIApplication *)application; 此方法基本已经弃用,改用第2个方法代替。– (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions NS_A
2016-06-13 11:21:25 418
原创 iOS setter和getter方法
如果将synthesize省略,并且我们自己实现setter和getter方法时,系统就不会生成对应的setter和getter方法,还有实例变量1,当把语义特性声明为assign时,setter和getter时方法内部实现- (void)setName:(NSString *)name{ _name = name;}- (NSString *)name{ return _name;}2
2016-05-27 18:02:01 831
原创 cocoapods安裝及使用
一、替換Ruby源1、檢查當前源 $gem sources -l2、移除當前源 $gem sources --remove https://rubygems.org/3、設置新源 $gem sources -a https://ruby.taobao.org/ 顯示https://ruby.taobao.org/ added to sources 再次查看源 顯示taobao源,則配置成
2016-05-19 11:19:35 536
原创 iOS應用主題切換
作為一個iOS搬磚新人,上個月主要在做應用的主題切換。現在有點時間,想分享一下主題切換的方法。思路: 1、已經加載出來的界面,例如TabBarController中的子控制器。未顯示的Controller上面的變化可以放在 - (void)viewWillAppear:(BOOL)animated 已經顯示的Controller可以用通知改變,如果其上有需要改變的view對象,則也需要用通知改
2016-05-05 15:40:22 478
转载 ViewController
ViewController一、结构按照结构,ViewController分为两类:1、主要用于显示界面,展示内容。如:UITableViewController,一般的UIViewController。 2、用于管理其他的ViewController。一般都是ViewController的容器。比如UINavigationController,UITabbarController,都有一个vie
2016-03-10 19:54:34 321
原创 iOS单例写法
单例第一种写法,普通写法:+ (instancetype)shareSingleton{ static Singleton *singleton = nil; if(!singleton){ singleton = [[Singleton alloc] init]; } return singleton;}
2016-03-10 19:35:03 523
转载 iOS webView 小用法
1.隐藏上下滚动时出边界的后面的黑色的阴影- (void) hideGradientBackground:(UIView*)theView{ for (UIView * subview in theView.subviews) {if ([subview isKindOfClass:[UIImageView class]]) subview.hidden = YES;[self hi
2016-03-04 21:26:26 286
转载 ViewController的生命周期分析和使用
一、结构按结构可以对iOS的所有ViewController分成两类:1、主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController。2、用于控制和显示其他ViewController的ViewController。这种ViewController一
2016-03-04 09:44:45 315
转载 CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-02-26 14:58:08 263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人