自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

转载 iOS13适配深色模式(Dark Mode)

原文博客地址:iOS13适配深色模式(Dark Mode) 好像大概也许是一年前,Mac OS系统发布了深色模式外观, 看着挺刺激, 时至今日用着也还挺爽的 终于, 随着iPhone11等新手机的发售,iOS 13系统也正式发布了, 伴随着手机版的深色模式也出现在了大众视野 我们这些iOS程序猿也有事情做了, 原有项目适配iOS13系统, 适配Dark Mode深色模式 虽然现在并没...

2019-10-31 10:02:20 843

转载 iOS 布局受导航栏影响

出现这类问题一般是translucent属性或者升级iOS11之后突然出现的。translucent属性的影响详情可以参考http://www.jianshu.com/p/eba6bda5ff37。当你去做“透明”导航栏效果的时候,一般来说translucent是YES的,这个时候坐标系统是从整个屏幕的最顶部开始的(被导航栏遮挡,但此时导航栏是透明的也就没有任何影响),但是当你push到下一层...

2019-06-14 10:29:40 699

原创 IOS 专题集合

第一期:【一周精品源码】各种动画的集合demo[img]file:///C:\Users\zhangjy\AppData\Local\Temp\8LDO48C$8@[GWU0353$FOVS.png[/img]http://www.code4app.com/forum.php?mod=viewthread&tid=8006&extra=page%3D1%26filter%3Ds...

2019-06-14 10:28:19 711

转载 关于oc的#pragma mark - 和swift的注释的详解和区别

1、oc中使用的注释一般//单行注释、/*多行注释*/ #pragma marks Comments containing: MARK: TODO: FIXME: !!!: ???:除了使用 #pragma mark -添加分割线之外, 其余的你有用...

2019-06-14 10:27:05 571

转载 iOS数据存储方法介绍

项目准备运用的Core Data进行本地数据存储,本来打算只写一下Core Data的,不过既然说到了数据存储,干脆来个数据存储基础大总结!本文将对以下几个模块进行叙述。沙盒PlistPreference偏好设置NSKeyedArchiver归档 / NSKeyedUnarchiver解档SQLite3的使用FMDBCore Data下图是Core Data堆栈的图示,在这里是

2017-10-13 10:34:26 341

原创 iOS 11适配之跳转App Store评论

iOS 11已经出来一阵子了,市面上也出了不少文章来说大家遇到的坑,我也来凑凑热闹。在iOS 11之前,为了让用户直接跳到App Store的评论页面,你的代码大概是这样写的:123456789-(void)goToAppStore { NSS

2017-10-13 10:01:28 2326

转载 layer 的常用属性

一 简单介绍CALayer 的基本属性在 iOS中 我们能看得见的东西基本上都是 UIView 比如 一个按钮 一个文本标签 一个文本输入框 一个图标等等 这些都是 UIView其实 UIView 之所以可以展示在屏幕上 ,是因为它内部的一个图层在创建 UIView 对象的时候 UIView 内部会自动创建一个图层即 CAlayer 对象通过 UIView 的 later 属性

2017-09-21 16:44:24 2812

转载 iOS11新特性开发初探之 - Core NFC

北京时间2017.6.6日凌晨1点,新一届的WWDC召开,苹果在大会上发布了iOS11的beta版,虽然正式版还有一段时间才会推送,不过其中有项功能引起我的注意,即苹果官方开放了NFC的部分开发接口。虽然从iphone6开始苹果手机就已经有NFC硬件了,但是开发接口一直没有开放,苹果官方的Apple Pay应用则使用了NFC功能。现在看来苹果在iOS11将NFC接口对开发者开放了,虽然从文档开来目

2017-09-21 16:42:54 2914

转载 IOS-TableView里面cell的显示动画

前言UITableView 是iOS日常开发中经常使用到的控件。tableView的普通展示效果比较生硬,为了提升APP的活力,提升体验,我们可以对根据tableView的特点,操作Cell实现一些动画效果。我写了一个简单的动画集 TableViewAnimationKit,只需要一行代码就可以让tableView实现动画目前有大概10个动画,后续会优化增加。源码放

2017-09-12 17:04:06 1154

转载 iOS开发之pdf文档的加载与浏览的4种方式

前言在我们的开发中,有些像电子书类型的app的开发会涉及到pdf文档的加载与展示。由于笔者项目中正好涉及到这块,于是将pdf常用的几种加载方式做个总结。以供后面可能用到的同学做个参考。正文通常我们用到的pdf文档的加载方式有4种:UIWebView加载本地或者网络pdf文档QLPreviewController加载pdf文档用CGContext画pdf文档,并结合UIPageV

2017-09-05 09:40:13 542

转载 iOS 直播 —— 推流

推流,就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器。推流前的工作:采集,处理,编码压缩推流中做的工作: 封装,上传推流前的工作推流——采集到的音频,视频数据通过流媒体协议发送到流媒体服务器话说回来, 其实有一个库 LFLiveKit 已经实现了 后台录制、美颜功能、支持h264、AAC硬编码,动态改变速率,RTMP传输等,我们真正开发的时

2017-08-30 11:12:34 4558

转载 ReactiveCocoa入门教程:第三部分

什么是RAC?几乎每一篇介绍RAC的文章开头都是这么一个问题。我这篇文章是写给新手(包括我自己)看的,所以这个问题更是无法忽视。简单的说,RAC就是一个第三方库,他可以大大简化你的代码过程。官方的说,ReactiveCocoa(其简称为RAC)是由GitHub开源的一个应用于iOS和OS X开发的新框架。RAC具有函数式编程和响应式编程的特性。为什么我们要学

2017-08-21 13:32:56 437

转载 ReactiveCocoa入门教程:第二部分

翻译自:http://www.raywenderlich.com/62796/reactivecocoa-tutorial-pt2ReactiveCocoa 是一个框架,它允许你在你的ios程序中使用函数响应式(FRP)技术。加上第一部分的讲解,你将会学会如何使用信号量(对事件发出数据流)如何替代标准的动作和事件处理逻辑。你也会学到如何转换、分离和组合这些信号量。在这里,也就是

2017-08-21 13:31:33 314

转载 ReactiveCocoa入门教程:第一部分

本文翻译自RayWenderlich,原文:ReactiveCocoa Tutorial--The Definitive Introduction: Part 1/2作为一个iOS开发者,你写的每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action

2017-08-21 13:27:00 360

转载 创建私有Pods

前言骚年,你听说过组件化吗?没有?但你一定玩过乐高玩具,乐高玩具本身一个庞大的模型却是依靠无数个各自分工的基础模块构建而成!同理,随着项业务的增长,项目也必然越来越庞大。此时,为了更好地管理我们的项目,我们可以适当地拆分部分模块与其相关业务逻辑。这样不仅能提高相关模块的复用性也使其单元测试变得可行等。如何进行组件化管理CocoaPods 是一个很好的三方开源库管理工具,在配

2017-08-10 10:47:15 261

转载 iOS中多语言本地化流程的优化

本文从提升效率和减少错误两方面对传统的多语言本地化方式进行了优化。传统的方法提升点效率减少些错误自动化万岁传统的方法在 Localizable.strings 中写入多种语言的版本,然后使用 NSLocalizedString 进行本地化:123456

2017-08-10 10:33:45 504

转载 iOS 应用稳定性监测和指标问题

一个iOS App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。尤其因为苹果限制了热更新机制,App本身的稳定性及容错性就显的更加重要,之前可以通过发布热补丁的方式解决线上代码问题,现在就需要在提交之前对App开发周期内的各个指标进行实时监测,尽量让问题暴漏在开发阶段,然后及时修复,

2017-08-10 10:15:28 1156

转载 iOS 如何获取设备的各种信息

一、目录结构:获取屏幕宽度与高度获取设备版本号获取iPhone名称获取app版本号获取电池电量获取当前系统名称获取当前系统版本号获取通用的唯一识别码UUID获取当前设备IP获取总内存大小获取当前可用内存获取精准电池电量获取电池当前的状态(共

2017-08-08 15:53:36 549

转载 iOS右滑pop功能的实现

侧滑返回的效果效果图从iOS7开始,系统为UINavigationController添加 interactivePopGestureRecognizer属性,这个属性就是系统提供的右滑返回动画,我们可以通过滑动左边边缘实现pop效果。我们可以通过,如上图所示。self.navigationController.interactivePopGestureRecognizer

2017-08-07 11:46:55 628

原创 swift中的GCD简单使用

1.最常用的GCD模板全局队列异步执行DispatchQueue.global().async {//耗时操作写在这里 DispatchQueue.main.async { //回到主线刷新 }}DispatchQueue.global().async {//耗时操作写在这里

2017-08-02 09:48:54 421

原创 ios开发之内存泄漏和性能优化

什么是内存泄漏?本应释放的内存没有释放,导致可用空间减少的现象。(摘自百度知道,看你敢不敢信)举个例子:你dismiss了一个视图控制器,但是最终却没有执行这个视图控制器的dealloc方法。目前遇到的导致内存泄漏比较严重的有这几个地方:一.delegate不知为何之前那个开发者全部用的retain修饰符,导致很多应该释放的视图控制器都没释放。这个修改很简单:将retain改成

2017-07-18 15:27:26 3057

原创 iOS多种线程锁的简介

线程安全是怎么产生的常见比如线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步。- (void)getIamgeName:(NSMutableArray *)imageNames{//假如每个进来的都是一个线程 /*1.imageNames是线程外的变量,这个时候就需要考虑线程安全, 因为,假如我们当前imageNames的个数是1,线程A和B同时进来

2017-07-17 16:59:16 457

转载 iOS常见的几种加密方法

普通加密方法是讲密码进行加密后保存到用户偏好设置中钥匙串是以明文形式保存,但是不知道存放的具体位置一. base64加密base64 编码是现代密码学的基础基本原理:原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示用base64 编码之后,数据长度会变大,增加了大约 1/3 左右.(8-6)/6可进行反向解密Xc

2017-07-17 10:46:34 380

转载 Swift多线程之Operation:按优先级加载图片

乖乖的,俺又来了。上一个系列写传感器,特别庆幸自己在开篇的时候就立下了一个Flag,不然那个系列估计到现在就不知道被自己偏到什么地方去了。众所周知的iOS有好多传感器,配合各种传感器可以做出来各种好玩的东东。宅胖也见过很多超牛的作品用传感器和动画相结合,那简直了。所以,这个系列,叫做多线程。在写之前还是稍稍做了一下功课,大概看了看一些前辈们的分享帖。于是果断的决定这个系列不出意外,

2017-07-14 10:27:46 644

原创 Swift-AnyOject与OC中Id对比

1、id的兼容性Swift有一种AnyObject类型,用来代表某个对象。它和Objective-C中的id类型很相似。Swift把id导入为AnyObject,使你能够在编写类型安全的Swift代码的同时,保留不确定类型对象(untyped object)的灵活性。例如,像id一样,你可以为AnyObject类型的常量或变量赋任何类型的值。你还可以为变量重新赋一个另一种类型值。

2017-07-13 14:16:47 598

转载 iOS开发经验总结(三)

1、设置UILabel行间距12345NSMutableAttributedString* attrString = [[NSMutableAttributedString  alloc] initWithString:label.text];    NSMutableParagraphStyle *sty

2017-07-13 09:09:30 348

转载 iOS开发经验总结(二)

2、当使用-performSelector:withObject:withObject:afterDelay:方法时,需要传入多参数问题12345678910111213141516171819// 方法

2017-07-13 09:03:47 387

转载 Swift 4 JSON 解析指南

Apple 终于在 Swift 4 的 Foundation 的模块中添加了对 JSON 解析的原生支持。虽然已经有很多第三方类库实现了 JSON 解析,但是能够看到这样一个功能强大、易于使用的官方实现还是不免有些兴奋。值得注意的是,官方的实现方式适用于任何 Encoder/Decoder ,例如 PropertyListEncoder 。当然如果你需要 XML 格式的内容,可以进

2017-07-13 08:57:19 8040

原创 IOS10 相关权限设置总结

获取相机权限:NSCameraUsageDescription App需要您的同意,才能访问相机 获取相册权限:NSPhotoLibraryUsageDescription App需要您的同意,才能访问相册 获取日历权限: NSCalendarsUsageDescription App需要您的同意,

2017-07-12 16:02:32 703

原创 iOS开发永久数据保存方式

IOS开发的永久数据保存方式总共有6种。分别是:1.NSUserDefaults2.归档和解档(序列化)3.plist文件保存4.数据库(sqlite)5.CoreData6.KeyChain一:NSUserDefaults: 保存的基本数据类型、NSString、NSArray、NSDictionary

2017-07-07 14:07:09 491

原创 iOS Xcode pch文件的路径配置

1、Build Setting 设置中(搜索 Prefix Header)找到Precomplie Prefix Header 这项设置设置成YES。2、把Precomplie Prefix Header 下面一项Prefix Header 双击打开,把pch文件拖到打开的对话框中,回车。3、把 $(SRCROOT)  拷贝代替 Prefix Header 中的路径

2017-07-07 11:55:52 219

原创 swift 中的互斥锁应用

oc中的互斥锁:@synchronized(self) { //需要执行的代码块}swift中的互斥锁objc_sync_enter(self)//需要执行的代码块objc_sync_exit(self)至于其他多线程的API和以前的一样,只是少了perform这一类的API,苹果已经去掉了

2017-07-05 10:41:22 269

原创 最新Cocoapods安装和使用教程

1、查看ruby源gem sources -l 2、移除掉原有的源gem sources --remove https://rubygems.org/**https://rubygems.org/ **是所查看到的源名称,需要全部移除 3、添加国内最新的源:ruby-chinagem sources -a http://g

2017-06-28 14:48:37 224

转载 iOS开发经验总结(一)

1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{// 如果是你需要隐藏的那一行,返回高

2017-06-27 08:56:06 2809

转载 33 款主宰 2017 iOS 开发的开源库

摘要:iOS 开发者福利,本文为广大iOS开发者准备了33 款主宰 2017 iOS 开发的开源库,已经有十几万小伙伴关注了,提升你在 2017 年的开发。开始燃烧吧。你好,iOS 开发者们!我的名字是 Pawel,是一名 iOS 独立开发者,也是  Enter Universe 的作者。大概在两年前,我发布了 提升开发的 27 个 iOS 开源库。这篇文章是我的一个最

2017-06-22 12:18:40 327

原创 私有API-iOS10方法跳转到设置界面失效的解决方法

问题在iOS10之前,跳转到系统设置界面的某个指定界面的方式如下://打开定位服务界面NSURL*url=[NSURL URLWithString:@"prefs:root=Privacy&path=LOCATION"];if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sha

2017-06-19 11:02:03 1807

转载 关于oc的#pragma mark - 和swift的注释的详解和区别

1、oc中使用的注释一般//单行注释、/*多行注释*/       #pragma marks        Comments containing:        MARK:        TODO:        FIXME:        !!!:        ???:除了使用 #pragma mark -添加分割线之外,

2017-06-15 16:01:12 394

转载 IOS开发者账号申请流程

申请苹果开发者证书,最详细过程,不看后悔。苹果开发者账号,分为两种。第一种,Enterprise Program,为公司内部员工打包测试用,不可公开下载,售价$299。第二种,Developer Program,对外发布。售价$99,约合¥688。这里申请的是$99的Developer Program证书。前提是你有apple id,如果没有的话,点这创

2017-05-18 13:24:21 318

原创 IOS动态修改导航栏颜色 UINavigationBar

示例 所谓动态修改  意思是 在当前页面滚动的过程中 亦或 是在 触发返回事件\进入一个新的页面  导航栏的动态变化由于系统级别的navBar 高度集成  很多自己想实现的功能 很不好弄 如果是通过继承的话,  参见 category 类别那章相对来说 更适用,自己开发一些个性自定义的方法去实现想要的功能. 参见http://www.cocoachina.com/ios/20150

2017-05-15 09:31:28 2046

原创 ReactiveCocoa的简单用法

今天的主角是Reactive Cocoa,聊聊Reactive Cocoa的常见使用:KVO、Target、Delegate、Notification。Reactive Cocoa 是一个重量级框架,非常的牛,为什么说Reactive Cocoa非常的牛?我们所熟知的iOS 开发中的事件包括:TargetDelegateKVO通知时钟网络异步回调 ReactiveC

2017-05-09 09:41:04 477

空空如也

空空如也

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

TA关注的人

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