![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS
文章平均质量分 57
IOS开发乐园
本人是一名活泼,乐观开朗的IOS开发工程师,喜欢交友,喜欢技术分享,希望与一些志同道合的人一起开启屌丝程序员之路,通过技术博客或沟通交流,大家一起成长一起进步!
展开
-
检测是否开启推送通知功能
检测是否开启推送通知功能一般应用中会用到检测手机是否开启推送通知功能,下面是检测是否开启推送通知功能的检测方法:-(BOOL)isOpenNotificationFun{ if([[[UIDevice currentDevice] systemVersion]floatValue]>=8.0){ UIUserNotificationType types=[[UIApplication sharedApplication]currentUserNotificationSetting原创 2015-11-07 11:35:24 · 951 阅读 · 0 评论 -
基于 CoreText 的排版引擎:进阶
基于 CoreText 的排版引擎:进阶基于 CoreText 的排版引擎:进阶JUN 27TH, 2015版权说明原创文章,转载请保留以下信息:本文节选自我的图书:《iOS 开发进阶 》。本文涉及的 Demo 工程在这里:https://github.com/tangqiaoboy/iOS-Pro。扫码关注我的「iOS 开发」微信公众帐号:二维码本章前言在上一篇《基于 CoreText 的排版引擎:基础》中,我们学会了排版的基础知识,现在我们来增加复杂性,让我们的排版引擎支持转载 2015-11-07 15:02:36 · 346 阅读 · 0 评论 -
CoreData升级
CoreData升级一般我们使用CoreData会面临版本升级的问题,一个版本我们一般会创建一个数据库文件这样 项目中就会存在很多的无用的数据库文件!如果更新模型则必须添加一个新版本。我们假定你的用户正使用model version 1。当开发一个更新版的app,你已经添加了model versions 2, 3和4。使用以下小技巧可以减少版本历史,而不用发布model versions 2, 3,4…删除model 2的内容复制model 4内容至model 2设置model 2为当前model原创 2015-11-07 11:41:27 · 383 阅读 · 0 评论 -
UITableView横向滚动
UITableView横向滚动1. UITableView 设置CGRect tableViewRect = CGRectMake(0.0, 0.0, 50.0, 320.0);self.tableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStylePlain];tableView.center = CGPointMake(self.view.frame.size.width / 2, se原创 2015-11-13 11:18:34 · 489 阅读 · 0 评论 -
【iOS开发】打包静态库.a文件
MENUHOMECATEGORIESTAGSABOUT FEEDIOS开发this post is featured【iOS开发】打包静态库.a文件Bison10 Jun 2015 in 静态库 Less than 1 minute read"iOS开发之怎么生成静态库.a文件."Plato转载 2016-02-29 18:17:53 · 773 阅读 · 0 评论 -
iOS应用内付费(IAP)开发步骤列表
前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作。步骤繁多,在此把开发步骤列表整理如下。因为只是步骤列表,所以并不含详细的说明教程,需要看教程的新手,可以看我附在最后的一些参考链接。配置Developer.apple.com登录到Developer.apple.com,然后进行以下步骤:为应用建立建立一个不带通配符的App转载 2016-02-26 11:16:28 · 430 阅读 · 0 评论 -
iOS音频播放第三方框架FreeStreamer解析(全)
iOS音频播放第三方框架FreeStreamer解析(全)新项目是一款音频播放类软件,作为该项目核心功能:音频播放。第一版本是使用了系统提供的AVPlayer框架来实现音频文件的播放,再开发完成之后,自测阶段使用都OK,没有任何问题。但当上线之后用户量一大,此时反馈关于在线音频无法播放,已下载的音频文件仍无法播放诸如此类的问题很多。于是觉得找找比较靠谱一点的第三方音频框架,经过各种比较觉得使用...原创 2018-08-30 18:06:42 · 2603 阅读 · 0 评论 -
ios最好用的第三方分享集成框架
ios最好用的第三方分享集成框架ios一般项目中都会有第三方分享功能,微信好友 朋友圈 新浪微博 分享 链接,图片,音频,视频等。于是自己弄个demo:XFThirdShareSDKDemo。一句代码实现第三方分享,超方便好用。一、功能描述该demo集成了微信SDK,新浪微博SDK,主要功能是:微信好友、微信朋友圈、新浪微博 分享 图片、链接、音频等的集成与封装。二、dem...原创 2018-08-30 18:57:20 · 349 阅读 · 0 评论 -
ios常用算法大全
ios常用算法大全通用算法 (排序 查找 递归 链表等)欢迎大家来维护算法大全,有什么好的算法写的伪代码能运行测试的把加入算法大全中大家一起维护交流。大全地址:XFCommonAlgorithm...原创 2018-08-30 19:12:09 · 649 阅读 · 0 评论 -
基于 CoreText 的排版引擎:基础
基于 CoreText 的排版引擎:基础版权说明原创文章,转载请保留以下信息:本文节选自我的图书:《iOS 开发进阶 》。本文涉及的 Demo 工程在这里:https://github.com/tangqiaoboy/iOS-Pro。扫码关注我的「iOS 开发」微信公众帐号:二维码本章前言使用 CoreText 技术,我们可以对富文本进行复杂的排版。经过一些简单的扩展,我们还可以实现对于图片,链接的点击效果。CoreText 技术相对于 UIWebView,有着更少的内存占用,以及转载 2015-11-07 15:00:39 · 382 阅读 · 0 评论 -
并发编程之Operation Queue
并发编程之Operation Queue并发编程之Operation Queue随着移动设备的更新换代,移动设备的性能也不断提高,现在流行的CPU已经进入双核、甚至四核时代。如何充分发挥这些CPU的性能,会变得越来越重要。在iOS中如果想要充分利用多核心CPU的优势,就要采用并发编程,提高CPU的利用率。iOS中并发编程中主要有2种方式Operation Queue和GCD(Grand Central Dispatch)。下面就来先来说一下Operation Queue。异步调用和并发在深原创 2015-11-07 15:14:23 · 382 阅读 · 0 评论 -
使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
Auto Layout代码实现自动布局本文将通过简单的UI来说明如何用VFL来实现自动布局。在自动布局的时候避免不了使用代码来加以优化以及根据内容来实现不同的UI。一:API介绍NSLayoutConstraint API1234NSLayoutConstraint+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)optsmetrics:(NSDict转载 2015-11-20 17:10:24 · 370 阅读 · 0 评论 -
iOS崩溃日志分析
iOS崩溃日志分析iOS崩溃日志分析崩溃日志的产生iOS中运行App过程中如果发生程序崩溃,会生成一个崩溃日志文件。这个文件会保存的特定系统目录下,扩展名是crash。你可以通过系统设置中的“通用-关于本机-诊断与用量-诊断与用量数据”来查看崩溃日志文件。当手机连接到iTunes时,也会将该文件同步到电脑上。在Mac系统中这些文件会同步到“~/Library/Logs/CrashReporter/MobileDevice”下。在Windows系统中会同步到“C:UsersAppDat原创 2015-11-07 15:17:44 · 723 阅读 · 0 评论 -
UIImageView实现图片移动,缩放、旋转的代码片段
UIImageView实现图片移动,缩放、旋转的代码片段继承UIImageView,重写init函数。复制代码 1 //旋转手势 2 UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer allor]initWithTarget:selft action:@selector(rotatePiece:)]; 3 [self addGestureRecognizer:rotationGesture]原创 2015-11-07 14:51:10 · 454 阅读 · 0 评论 -
Masonry介绍与使用实践:快速上手Autolayout
Masonry介绍与使用实践 快速上手Autolayout前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变在iphone5-iphone5s时代转载 2015-11-20 17:06:55 · 351 阅读 · 0 评论 -
UICollection布局
UICollection布局 UICollectionView 是针对IOS6 以后才能使用的 控件,比起UITableView来说功能更强大,使用起来更方便!使用UICollectionView最重要的一点就是加载设置UICollectionViewFlowLayout,一下是自己总结的使用UICollectionView的具体使用步骤:一:创建 UICollectionView控件 并 registerClass 具体代如下:SQCollectionView = [[UIColl原创 2015-11-13 14:00:45 · 312 阅读 · 0 评论 -
NSURLSession简介
NSURLSession简介NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。注意,如果用户强制将程序关闭,NSURLSession会断掉。NSURLSession提供的功能:通过URL将数据下载到内存通过URL将数据下载到文件系统将数据上传到指定URL在后台完成上述功能 工作流程如果我们需要利用NSURLSession进行数据传输我们需要转载 2015-11-07 11:43:25 · 316 阅读 · 0 评论 -
内存管理
内存管理下面是我自己结合项目对内存管理的一些总结:一:临时变量 对于临时变量比如 UILabel *label=[[UILabel alloc]init]; 之后 赋值给其它变量不在使用时 要 释放 [label release]; 当然也可以通过自动释放池进行释放 例:UILabel *label=[[[UILabel alloc]init]autorelease];二:属性变量 公有属性变量:最好在 .m文件中 @synthesize 变量名称 然后原创 2015-11-07 11:40:46 · 278 阅读 · 0 评论 -
TableView的优化
TableView的优化在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、 Safari、App Store、iTunes、Game Center…几乎所有自带的应用中都能看到它的身影,可见它的重要性。 然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。 实际上只要针对性地优化一下,这种问题就不会有了。有兴趣的可以看看 LazyTableImages这转载 2015-11-07 11:45:14 · 334 阅读 · 0 评论 -
NSURLSessionDownloadTask 出现 NSURLErrorDomain的解决方案
当你使用NSURLSessionDownloadTask下载资源时 可能会出现 NSURLErrorDomain类似的错误无法下载资源,以下是这种情况的解决方案:原因是:iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议。意思是Api接口以后必须是HTTPS 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输原创 2015-12-10 10:48:56 · 5014 阅读 · 0 评论 -
自己的库上传到pod详细步骤
自己的库上传到pod详细步骤1:利用pod在桌面创建一个工程cd 到桌面然后 执行如下命令行:命令行:pod lib create XFPodTestWhat is your class prefix? (工程前缀,这个可以根据自己需求随意写)此时会在桌面出现通过pod 创建的工程2:在GitHub中创建一个XFPodTest的项目具体步骤如下图所示:...原创 2018-09-07 18:36:06 · 1041 阅读 · 0 评论