自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (4)
  • 收藏
  • 关注

原创 远程推送

一、生成对应的生产通知证书和发布通知证书证书生成部分就不做介绍了二、开启应用的推送能力 这是会生成一个TestPush.entitlements文件,里面APS Environment属性值为development,直接运行一直是测试环境,打包为ipa后则为正式环境。三、注册远程通知1.导入头文件在Appdelegate.m文件里引入UserNotifications...

2018-05-30 16:25:03 511

原创 自动打包执行命令报错

执行自动打包执行命令报错xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance输入下面命令解决sudo xcode-selec...

2018-04-04 09:43:48 245

原创 XCode生成html测试覆盖率报告

1.首先需要安装HomeBrew 打开命令行输入:ruby -e “$(curl –insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 然后按回车键继续,再输入密码继续安装 2.配置xcode,打开测试的buildsettings 然后再build phases中添加一个N

2018-01-25 16:53:40 889

原创 iOS TouchID验证和Keychain结合使用

1.TouchID的简单实现首先先导入LocalAuthentication/LocalAuthentication.h头文件 使用TouchID前先检测TouchID是否可用,然后再调用LAContext *context = [[LAContext alloc] init];BOOL success = [context canEvaluatePolicy:LAPolicyDeviceOwn

2017-09-14 10:25:05 1366

原创 iOS自定义转场动画

自定义转场动画主用到3个类实现UIViewControllerAnimatedTransitioning协议的动画类继承UIPercentDrivenInteractiveTransition类的手势类实现UIViewControllerContextTransitioning协议的transitionContext先实现present和dismiss动画PresentedViewContr

2017-09-12 17:28:34 267

原创 Today Extension

1.首先创建一个主体应用程序2.创建Today Extension程序 给你的TodayExtension起一个名字,建好以后会变成下图的文件结构系统默认给你创建了一个storyboard,有好多人喜欢用纯代码开发,没问题,接下来使用去掉storyboard删掉storyboard后打开plist文件,出现下图然后将NSExtensionMainStoryboard删掉,添加NSExtensi

2017-09-07 19:32:19 305

原创 图片剪裁

- (UIImage *)getClipImage:(UIImage *)sourceImage clipRect:(CGRect)clipRect { CGFloat (^rad)(CGFloat) = ^CGFloat(CGFloat deg) { return deg / 180.0f * (CGFloat) M_PI; }; CGAffineTransfo

2017-08-01 14:40:23 187

原创 iOS粒子动画

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. _fireEmitterLayer = [CAEmitterLayer layer]; //设置发射器位置 _fireEmitterL

2017-07-01 11:18:16 479

原创 iOS让controller具有右滑pop的效果

首先要有navigationcontroller,在navigationcontroller的viewdidload方法里添加下面的代码NSObject *targetObjc = [[self.interactivePopGestureRecognizer valueForKey:@"_targets"] firstObject]; NSObject *target = [targetOb

2017-06-18 15:01:25 219

原创 iOS单元测试中测试异步方法

- (void)testAsync { //设置预期 XCTestExpectation *expactation = [self expectationWithDescription:@"异步测试"]; [Person loadPersonAsync:^(Person *person) { NSLog(@"%@",person); //预期达成

2017-06-08 12:01:31 534

原创 iOS输入汉字时限制字数

UITextInputMode *inputMode = [[UITextInputMode activeInputModes] firstObject];if([inputMode.primaryLanguage isEqualToString:@"zh-Hans"]){ UITextRange *selectedRange = [_textField markedTextRange];

2017-06-01 16:39:46 323

原创 3DTouch

3DTouch是iOS9出的新特性,用户可以在手机主屏幕和app内部使用1. 主屏幕的快捷操作当用户按压应用图标是会弹出快捷操作列表,当用户选择选择一个快捷操作是,应用会被激活或者启动,同事你的代理对象会收到快捷操作的信息。固定的快捷操作:需要在Info.plist里设置 UIApplicationShortcutItems 动态的快捷操作:需要使用UIApplicationShortcutIt

2017-05-17 10:55:44 313

原创 Quartz 2D

1.1 The Graphics Context所有的东西都是画在CGContextRef类型的对象上Quartz 2D中一些数据类型CGPathRef:用于绘画的线CGImageRef:一个矢量图片CGLayerRef:一个绘画层,可以重复绘画和离屏绘画CGPatternRef:用于重复绘画的CGShadingRef和CGFrandientRef:用于渐变绘画CGFunctionRef

2017-05-15 15:40:53 564

原创 iOS富文本和html字符串互转

//html字符串转换为富文本NSString *htmlStr = @"我的<span style='color:red'>aafaf微</span>我的<span style='color:red'>aafaf微</span>"; NSAttributedString *att = [[NSAttributedString alloc] initWithData:[htmlStr da

2017-05-09 18:53:51 7531

原创 iOS对图片进行马赛克处理

//获取BitmapData CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGImageRef imageRef = originalImage.CGImage; CGFloat width = CGImageGetWidth(imageRef); CGFloat heigth = CGImag

2017-04-19 10:54:18 1194

原创 iOS捕捉图像

iOS媒体捕捉一、捕捉类介绍捕捉会话AVCaptureSessionAV Foundation捕捉栈的核心类是AVCaptureSession,这个类相当与一个插排,用于连接输入和输出资源,捕捉会话还可以额外配置一个会话预设值(session preset)用来控制捕捉数据的格式和质量捕捉设备AVCaptureDeviceAVCaptureDevice为摄像头或麦克风等物理设备定义了一个接口,它

2016-08-19 16:44:53 3477

原创 iOS视频转换格式

//需要转换的视频地址NSURL *fileUrl = info[@"UIImagePickerControllerMediaURL"];//转换后的视频地址NSString *output = [NSHomeDirectory() stringByAppendingString:@"/Documents/Movie.mp4"];NSURL *outputUrl = [NSURL fileU

2016-08-15 16:14:08 2568

原创 使用AVPlayerViewController播放视频

AVPlayerViewController的属性player:用来播放媒体内容的AVPLayer实例showsPlaybackControls:表示播放控件是否显示或隐藏的布尔类型值videoGravity:播放视频界面的缩放比例readyForDisplay:视频内容是否已经准备好播放NSURL *url = [[NSBundle mainBundle] URLForResource:

2016-08-15 16:13:20 1449

原创 AVPlayer视频播放

AVFoundation中的元数据Apple环境下的媒体类型主要有四种:QuickTime(mov)MPEG-4 video(mp4和m4v)MPEG-4 audio(m4a)MPEG-Layer III audio(mp3)使用元数据大部分使用AVAsset提供元数据,但是当涉及获取曲目一级元数据等情况时也会使用AVAssetTrack获取资源中包含的所有元数据NSURL *url =

2016-08-12 11:31:28 90741

原创 播放和录制音频

播放和录制音频1.理解音频会话默认音频会话的预配置:激活了音频播放,但是音频录制未激活当用户切换响铃/静音开关到“静音”模式时,应用程序所播放的所有音频都会消失当设备显示解锁屏幕时,应用程序的音频处于静音状态当应用程序播放音频是,所有后台播放的音频都睡处于静音状态音频会话的分类 分类 作用 是否允许混音 音频输入 音频输出 Ambient 游戏效率应用程序 √

2016-07-28 15:05:45 606

原创 iOS文本朗读

iOS中文本朗读需要使用AVFoundation框架1.首先要了解两个类充当的角色AVSpeechSynthesizer相当于一个DVDAVSpeechUtterance相当于一个磁盘2.AVSpeechSynthesizer的属性和方法delegate 代理,用于监听朗读器的开始、暂停、停止和完成等等操作的speaking 是否正在朗读paused 是否暂停(void)sp

2016-07-25 19:00:46 1134

原创 UITextView中长按时出现的按钮都是英文

在plist文件中将Localization native development region(CFBundleDevelopmentRegion)改为china(zh_CN)

2016-07-22 15:48:27 404

原创 iOS8.0图片PhotoKit笔记

PhotoKit一、常用类介绍PHAsset:代表照片库中的一个资源,普通图片、livephoto或者视频PHFetchOptions:获取资源时的参数PHFetchResult:表示一系列的资源集合,也可以是相册的集合也可以是照片的集合PHAssetCollection:表示一个相册PHImageManager:用于处理资源的加载,加载图片的过程带有缓存处理,可以通过传入一个 PHIma

2016-07-21 10:44:05 591

转载 解析gif图得到图片数组

+ (NSMutableArray *)praseGIFDataToImageArray:(NSData *)data;   {      NSMutableArray *frames = [[NSMutableArray alloc] init];      CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)d

2015-09-09 11:54:17 572

原创 CAKeyframeAnimation

#pragma mark - 沿曲线移动- (void)moveCurve:(CGPoint)toPoint {        //1.创建动画对象    CAKeyframeAnimation *keyframe = [CAKeyframeAnimationanimationWithKeyPath:@"position"];    [keyframeset

2015-05-13 16:14:20 313

原创 iOSCABasicAnimation的创建、停止和恢复

#pragma mark - 当前视图被触摸- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {            //1.判断myView.layer上是否添加了动画   CAAnimation *animation = [myView.layeranimationForK

2015-05-13 15:48:31 8030

原创 iOS获取手机里的照片

ALAssetsLibrary *library = [[ALAssetsLibraryalloc] init];        [library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotosusingBlock:^(ALAssetsGroup *group,BOOL *stop) {        

2015-05-12 21:29:29 326

原创 Quartz 2D绘图

- (void)drawRect:(CGRect)rect {        CGContextRef content =UIGraphicsGetCurrentContext();        //1.绘制图画//    [self drawImage:content];        //2.绘制文字//    [self

2015-05-12 16:58:17 270

原创 iOS截图

//截图        UIGraphicsBeginImageContext(self.view.frame.size);                //1.取得绘图的画布        CGContextRef context =UIGraphicsGetCurrentContext();        CGContextSaveGState(c

2015-05-12 16:57:38 253

原创 iOS地图的使用

一、获取用户的位置1.首先链接CoreLocation.framework框架,然后在需要定位的地方导入头文件7.0以后要遭plist文件里添加NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription2.在开始使用定位前调用[CLLocationManagerlocati

2015-05-07 00:21:13 235

原创 如何让超出父视图区域的子视图实现点击事件

在父视图重写hitTest:withEvent:方法,代码如下:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {    //CGRectMake(50, 50, 100, 100)是相对于该视图而言的    if([selfisLocationInRectWithPoint:point wit

2015-05-04 23:25:13 862

原创 事件响应者链的理解

1.一个点击事件发生时系统会先判断事件发生在哪些视图上,这个过程是从父视图向子视图方向的递归检查,以下图为例解释一下:如果点击放生在E:(1)点击区域发生在A视图,所以检查他的子视图B和C(2)点击区域发生在C视图,所以终止B视图分支的检查,继续检查C视图的分支(3)点击区域发生在E视图,所以终止D视图分支的检查,继续检查E视图的分支(4)由于E视图没有子视图,

2015-05-04 23:23:36 410

原创 iOS手势总结

1.手势的分类UITapGestureRecognizer :点击手势(根据设定单击次数可以分为单次点击和多次点击)UIPinchGestureRecognizer:缩放或捏合手势UIPanGestureRecognizer:平移或拖拽手势UISwipeGestureRecognizer:轻扫手势UIRotationGestureRecognizer:旋转手势

2015-05-04 14:50:40 295

转载 iOS字符串去掉空格

转载自:http://hi.baidu.com/dajian_ecjtu/item/0a61d297b96b58f8291647bb【问题描述】      某些情况下,服务器返回的字段中含有空格,这空格是服务器开发人员不小心往数据中多敲了,但客户端需要保护,所以在客户端需要把字符串中的空格过滤掉。【问题分析】1、使用NSString中的stringByTrimmingCha

2015-04-28 09:33:51 544

原创 NSData与NSString、NSData与UIImage的数据类型转换

1,NSData 与 NSStringNSData --> NSString  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];NSString --> NSData  NSString *aString = @"1234";  NSData

2015-03-27 10:46:48 304

原创 iOS原生二维码扫描

7.0以后出来原生的二维码扫描之前一直使用ZBar和ZXing,而苹果有要求现在提交的应用必须支持64位编程,在王少搜了了一下ZBar的64位编程,虽然有解决办法但本人一直没有解决好,就打算放弃使用ZBar,开始使用原生的,查阅了一些相关文章,感觉有点乱,我就把自己写的代码整理了一下贴出来,希望对需要的人有所帮助1.首先在工程里添加AVFoundation.framework框架2.在.m

2015-03-13 09:56:51 493

转载 二维码扫描:ZBar,ZXing的使用

原文链接:http://blog.csdn.net/whjblog/article/details/15809859iOS二维码扫描开源库主要有Zbar和ZXing,在完成项目的过程中都用过,开始时用了Zbar,但其相对于ZXing扫描识别效率太低,无法达到项目要求,所以改用ZXing。两个开源库都可以识别二维码,但ZBar还支持条形码,ZXing识别条形码还需要改一些地方。

2015-03-05 11:16:05 997

转载 UIWebView和Object-C的互调

原文地址:http://blog.csdn.net/jaywon/article/details/7019828利用oc调用js很简单, 系统直接提供了方法stringByEvaluatingJavaScriptFromString[cpp] view plaincopy[webView stringByEvaluatingJav

2015-03-01 23:53:47 422

C#Jmail控件

c#Jmail控件,可以利用Jmail轻松实现邮箱功能

2013-07-04

《UML系统建模基础教程》清华课后题答案

《UML系统建模基础教程》清华课后题答案

2013-07-02

vc6.0使用教程详解

详细的vc++教程,刚入门的可以看看,可以帮助你更快的上手vc++

2011-11-05

空空如也

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

TA关注的人

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