![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS基础
文章平均质量分 60
3行代码
公众号:3code, 微博:3行代码
展开
-
iOS 9开发小技巧
LayoutGuide在iOS 9.0和 OS X 10.11中,分别有两个新的类:UILayoutGuide 和 NSLayoutGuide。他们可以作为一种类似View的对象,参与到AutoLayout的布局约束中。作为一种新的布局解决方案,这两个类的出现使你无需再创建、显示无关的View了。举个栗子,原本需要一个空的UIView占位的地方,现在只需要用UILayoutGuide去替代它就转载 2016-06-07 09:04:18 · 640 阅读 · 0 评论 -
UIfont字号与像素对应表
原创 2016-07-30 16:20:56 · 1729 阅读 · 0 评论 -
iPhone屏幕尺寸、分辨率及适配
1.iPhone尺寸规格设备iPhone宽Width高Height对角线Diagonal逻辑分辨率(point)Scale Factor设备分辨率(pixel)PPI3GS2.4 inches (62.1 mm)4.5 inches (原创 2016-07-21 12:07:16 · 1700 阅读 · 0 评论 -
移动端屏幕适配
①iPhone的设计尺寸iPhone界面尺寸:设备分辨率状态栏高度导航栏高度标签栏(工具栏)高度iPhone6 plus设计版1242 × 220860px132px146pxiOS APP设计一稿支持iPhone5/iPhone6/Plus设计流程一套完整的UI设计规范手册(IOS版)移动端界面设原创 2016-07-21 12:14:30 · 5753 阅读 · 0 评论 -
iOS图片压缩处理
iOS图片压缩处理首先,我们必须明确图片的压缩其实是两个概念:“压” 是指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降。“缩” 是指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体积同样会减小。图片“压”处理对于“压”的功能,我们可以使用UIImageJPEGRepresentation或UIImagePNGRepresent原创 2016-07-21 14:27:02 · 1669 阅读 · 0 评论 -
APP加急审核
申请加急网址:https://developer.apple.com/appstore/contact/appreviewteam/index.html提交加急审核需要理由,一般涉及到银行信息,或者崩溃打不开这种的比较容易通过。反正苹果很苛刻,一般不给处理。如果处理第二天就可以下载最新了,省去了漫漫的等待。一个成功加急审核的借口--转载 2016-08-16 12:26:28 · 470 阅读 · 0 评论 -
iOS App图标和启动画面尺寸
iOS App图标和启动画面尺寸注意:iOS所有图标的圆角效果由系统生成,给到的图标本身不能是圆角的。1. 桌面图标 (app icon)for iPhone6 plus(@3x) : 180 x 180for iPhone 6/5s/5/4s/4(@2x) : 120 x 1202. 系统搜索框图标 (Spotlight search results icon)原创 2016-08-02 13:26:36 · 3408 阅读 · 0 评论 -
IOS从相册获取裁剪的照片
晒晒以前的知识,如何获取一个裁剪后的照片picker_library_ = [[UIImagePickerController alloc] init]; picker_library_.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker_library_.allowsEditing =原创 2016-08-02 18:53:56 · 1713 阅读 · 0 评论 -
IOS 10 适配系列 _3_ Xcode 8 GM seed
准备工作更新Xcode 8beta在Mac上下载最新的Xcode 8 beta版安装iOS 10 beta描述文件在你要升级的iOS 10的设备上,打开Safari,打开网址https://beta.apple.com/profile下载iOS 10的描述文件。安装完描述文件之后,进入“设置”>“通用”>“软件更新”来安装iOS beta版。iOS 10适配项目转化原创 2016-09-11 09:55:10 · 3403 阅读 · 0 评论 -
iOS修改生成的APP名称
在创建项目的时候,会设置一个项目名,以后生成的APP名字也就是这个了,但由于某种原因,我想修改APP名字,也就是屏幕程序图标下面显示的那个,这该怎么办呢?下面有三种方法都可以:修改Product Name比如我想把“BugrptSDKDemo” 修改为 “测试” 问题:这里有时遇到了一个问题:下次重新打开这个工程Build的时候,出现以下的错误,提示原来的名原创 2016-08-09 10:34:10 · 12257 阅读 · 0 评论 -
Xcode8安装使用以及新特性
1、下载:Xcode8下载地址:https://developer.apple.com/download/ 建议用firefox下载,safari下载的速度实在是太慢了。本人用firefox下载用了2H不到。下载下来的格式是:XIP格式的。2、安装:下载之后,直接双击安装就行了,不用使用解压软件啥的,双击之后,系统会进行验证,大约20几分钟吧,然后就自动解压出一个可原创 2016-07-18 16:36:56 · 15236 阅读 · 3 评论 -
Mac 的 Vim 中 delete 键失效的原因和解决方案
vim从7.3升级7.4之后,出现MAC上的键盘使用很不顺的现象,譬如;delete按键不能使用,详细解说如下:本文介绍叙述Mac上vim中delete键失效的原因和解决方案闲扯:在Mac的键盘上实际是没有 backspace 这个键的。其实Mac的 delete 就是Windows的backspace ,实现的都是向左删除的功能。Mac上如果要实现向右删除的功能需要使用 ⌘+原创 2016-07-18 14:00:37 · 13498 阅读 · 1 评论 -
AFNetworking 源码解析之“AFURLSessionManager”
[objc] view plain copy #import #import "AFURLResponseSerialization.h" #import "AFURLRequestSerialization.h" #import "AFSecurityPolicy.h" #import "AFNetworkReachabilityManager.h" #i翻译 2016-07-11 11:01:30 · 2055 阅读 · 0 评论 -
判断VIEW是否还在显示
// 判断View是否显示在屏幕上- (BOOL)isDisplayedInScreen{ if (self == nil) { return FALSE; } CGRect screenRect = [UIScreen mainScreen].bounds; // 转换view对应window的Rect CGRect rec原创 2016-07-25 14:53:25 · 839 阅读 · 0 评论 -
邓白氏编码申请教程
前段时间公司新成立了子公司,要用单独的app账号,本人将邓白氏编码的申请过程记录下来,没有申请过的码友们请向这边看!1、首先申请开发者需要在这里填写资料:https://developer.apple.com/enroll/2、下一步到这里:https://developer.apple.com/enroll/organization/【如果是公司开发者;这里就要填写邓白氏编码了】3、原创 2016-07-26 09:44:08 · 1195 阅读 · 0 评论 -
ios开发必备第三方库
引言作为iOS开发人员,在开发App的过程中怎么会不使用第三方库呢?相信没有App是不使用第三方库的!相信自己在所做过的App中使用过哪些第三方库呢?网络库说到网络库,这是开发必备,除非你的App玩单机。现在特别火也特别好用的网络库就数AFNetworking了。也有部分同志喜欢自己用原生的NSURLConnection来做,当然是可以的,只是要写起来也困难,维护起来更困难。笔者基原创 2016-07-15 11:19:11 · 803 阅读 · 0 评论 -
iOS相册中如何删除照片
iOS相册中如何删除照片最近公司的app有一个新功能是在app中删除相册的照片 ,本来是一个比较简单地功能,在做的过程中却发现AssetsLibary 框架并没有提供删除相册的API,网络上查找的时候这方面的信息也很少,最终在stackoverflow上发现了一个巧妙的方法,使用[ALAsset setImageData:metadata:completionBlock:]来实现删除照原创 2016-07-26 17:45:44 · 4067 阅读 · 1 评论 -
ios开发-获取手机相关信息
最近的APP邮件反馈里需要加入一些设备信,整理如下:iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。原创 2016-07-15 17:04:28 · 1288 阅读 · 0 评论 -
IOS开发广告接入iAD框架_InMobi框架
IOS开发植入广告的话,常用广告框架来实现,一般常用的有苹果官方的:iAd以及三方的像:InMobi等以下分别介绍:iAd框架iOS 4.0引入了iAd框架(iAd.framework)支持程序中显示banner广告。广告由标准的view构成,你可以把它们插入到你的用户界面中,恰当的时候显示。View本身和苹果的广告服务通讯,处理一切载入和展现广告内容以及响应点击等工作。更原创 2016-07-15 17:58:33 · 7744 阅读 · 0 评论 -
谈谈面向对象设计(OOD)原则
design拥有一把锤子未必能成为建筑师 最近在项目开发过程中碰到了一些问题,发现在每波迭代开发过程中,经常需要去修改之前的代码,虽然出现这样的情形很正常,新的需求必然会带来新的功能新的设计,导致之前的代码受到影响。记得看过一个笑话:“杀一个程序员不需要用枪,改三次需求就可以了” 其实需求设计是一个方面,另外我们作为设计开发人员有时候也需要去反省,反省一下代转载 2016-07-06 16:35:38 · 446 阅读 · 0 评论 -
iOS应用程序间共享数据
我们知道iOS由于沙盒的存在,应用程序不能越过自己的区域去访问别的存储空间的内容,不过可能有许多场景我们需要在应用程序之间共享数据,比如多个应用共用用户名密码进行登录等。虽然我们不能直接通过文件系统来分享数据,不过还是有些方法可以实现,为了方便说明,这里同时创建了两个工程Example1和Example2,实现这两个app之间的信息共享,Example1负责写数据,Example2负责读数据,具体转载 2016-07-06 16:33:44 · 925 阅读 · 0 评论 -
AppStore上线规则
作者:Fang链接:https://www.zhihu.com/question/20216099/answer/31799782来源:知乎著作权归作者所有,转载请联系作者获得授权。目录 提交应用之前的检查列表 1.安全1.1 不当内容1.2 用户生成的内容1.3 儿童分类1.4 人身伤害1.5 开发者信息2.性能2.1 应用程序的完整性2.翻译 2016-08-14 20:03:01 · 6170 阅读 · 0 评论 -
更轻量的 View Controllers
View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总是复用率最低的。我们将会看到给 view controllers 瘦身的技术,让代码变得可以复用,以及把代码移动到更合适的地方。你可以在 Github 上获取关于这个问题的示例项目。把 Data Source 和其他 Protocols翻译 2016-09-18 15:24:09 · 403 阅读 · 0 评论 -
iOS 实现模糊效果
本文译自iOS 7 Blur Effects with GPUImage。iOS 7在视觉方面有许多改变,其中非常吸引人的功能之一就是在整个系统中巧妙的使用了模糊效果。许多第三方应用程序已经采用了这样的设计细节,并以各种奇妙的和具有创造性的方式使用它。本文将通过几种不同的技术来实现iOS 7中的模糊效果,当然,这一切都利用了一个名为GPUImage的框架。GPUImag转载 2016-11-11 18:14:11 · 1504 阅读 · 0 评论 -
一款Loading动画的实现思路(一)
前几天,朋友推荐了一款Loading动画,感觉挺有意思,动画是这样的正好这段时间在学习动画,就试着实现了一版,为了降低难度,我对动画做了一些简化,做完后是这样的考虑到抛砖引玉是最好的学习方式之一,我就分几篇把自己的实现思路写出来,请大家把更好的想法砸过来吧!这个动画乍一看很复杂,但我们相信一点:一个复杂任务可以拆分成一组简单任务。因此,我把这段复杂动转载 2016-11-17 10:05:34 · 1320 阅读 · 0 评论 -
shell: wget、curl(libcurl)使用方法及其区别
wget 用法详解:http://linux.blogbus.com/logs/46636997.htmlwget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能转载 2016-11-15 16:12:25 · 792 阅读 · 0 评论 -
一个组合的Loading动画(源码+GIF)
实际效果如下图:JCombineLoadingAnimation 是一个组合的动画效果,其中的各部分都可以单独拿出来使用1、外层渐变转动的圆基于Core Graphics和CAAnimation,在类:JDradualLoadingView中,使用CGContextRef和CABasicAnimation来实现的。动画的相关控制我已经封装到一个方法里面,具体可以看代原创 2016-11-23 16:10:49 · 2736 阅读 · 0 评论 -
iPhone使用教程
第一次买来时或恢复官方固件后,iPhone会处于那种只能拨打紧急电话状态,不能使用其它功能,如果要使用其它功能,就必须进行一项操作,那就是“激活”。一般有锁版的只有使用对应运营商的卡(如美国的AT&T卡)或者无锁版使用任何卡,才可以激活。激活之后就可以使用其它功能了。有人说:“放屁,老子用的美版,移动的卡,怎么从来不用激活就可以使用啦?”这里就要说到“越狱”,一般来说,有锁版的不签约用翻译 2017-01-03 09:47:43 · 10215 阅读 · 0 评论 -
NSURLProtocol 离线缓存
如下图:1.png如图所示,URL Loading System是iOS一系列网络请求类的集合,包括已经过期不用的NSConnection和现在流行的NSURLSession,还包括一些请求认证的类,一个sessionConfig的类,还有关于处理请求缓存的类等,当然还包括我们要说的这个NSURLProtocol类。对,我没说错,NSURLPtotocol类并不是一个proto翻译 2016-12-27 13:40:28 · 541 阅读 · 0 评论 -
App图标不显示:Xcode项目在Xcode9中运行会出现AppIcon不显示的 BUG
使用了CocoaPods的Xcode工程,在iOS11版的手机上AppIcon不显示,原因是CocoaPods的资源编译脚本在iOS11下出了点问题.需要修改脚本.解决方案:https://github.com/mythkiven/mkPlan欢迎关注:微博:3行代码公众号:3code...原创 2017-09-15 14:01:57 · 6424 阅读 · 6 评论 -
OCS——史上最疯狂的iOS动态化方案
OCS——史上最疯狂的iOS动态化方案导语在iOS的发展历程上,涌现了很多动态化方案,有历史悠久的WaxPatch动态化方案,有远近闻名的JSPatch动态化方案。今天精神哥向大家介绍一款堪称“史上最疯狂”的iOS动态化方案——OCS。本文来自腾讯 SNG - OCS团队初窥OCSOCS是全新设计的iOS动态化方案。我们定义了一套精确描述OC语义的字节码指令转载 2017-09-09 16:06:38 · 1406 阅读 · 0 评论 -
React-Native :组件之间的通信-1
在编写React程序的时候,大家会遇到很多React组件之间的通信问题,主要分为以下3种: 1.父组件向子组件传值; 2.子组件向父组件传值; 3.没有任何嵌套的组件之间的传值(如兄弟组件之间传值)-后续章节介绍;一、父组件向子组件传值1.在父组件中通过属性传递给子组件,在子组件中通过this.props获取信息;[javascript]翻译 2018-01-10 13:57:36 · 547 阅读 · 0 评论 -
SpriteKit快速入门和新时代iOS游戏开发指南
什么是SpriteKit首先要知道什么是Sprite。Sprite的中文译名就是精灵,在游戏开发中,精灵指的是以图像方式呈现在屏幕上的一个图像。这个图像也许可以移动,用户可以与其交互,也有可能仅只是游戏的一个静止的背景图。塔防游戏中敌方源源不断涌来的每个小兵都是一个精灵,我方防御塔发出的炮弹也是精灵。可以说精灵构成了游戏的绝大部分主体视觉内容,而一个2D引擎的主要工作,就是高效地组织,管理转载 2016-11-11 16:41:37 · 17935 阅读 · 2 评论 -
CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。 网络转载 2016-11-06 20:23:59 · 592 阅读 · 0 评论 -
整洁的代码系列--- Table View 代码
Table view 是 iOS 应用程序中非常通用的组件。许多代码和 table view 都有直接或间接的关系,随便举几个例子,比如提供数据、更新 table view,控制它的行为以及响应选择事件。在这篇文章中,我们将会展示保持 table view 相关代码的整洁和良好组织的技术。UITableViewController vs. UIViewControllerApple 提供了翻译 2016-09-18 15:26:34 · 595 阅读 · 0 评论 -
iOS开发的一些奇巧淫技
TableView不显示没内容的Cell怎么办?类似这种,我不想让下面那些空的显示.很简单.1self.tableView.tableFooterView = [[UIView alloc] init];试过的都说好.加完这句之后就变成了这样.自定义了leftBarbuttonItem左滑返回手翻译 2016-09-19 11:30:25 · 2789 阅读 · 0 评论 -
Key-Value Observing
问了几次研究 NSBlock 的人员:Key-Value Observing 在 Cocoa 框架里有着最不好用的 API 。它很难对付,啰嗦,令人迷惑。最糟糕的是,它的 API 掩盖了 framework 中很引人注目的特性。当处理复杂的,有状态的系统,book-keeping 对于保持清晰是很必要的。免的左手不知道右手做的事。随着时间的推移,对象需要一些方法来发布和订阅状态的改变。在翻译 2015-08-24 20:28:42 · 515 阅读 · 0 评论 -
objectiveC修饰符 static extern const
constconst最好理解,修饰的东西不能被修改指针类型根据位置的不同可以理解成3种情况:I 常量指针// 初始化之后不能赋值,指向的对象可以是任意对象,对象可变。NSString * const pt1;II 指向常量的指针// 初始化之后可以赋值,即指向别的常量,指针本身的值可以修改,指向的值不能修改const NSString * pt2;转载 2016-03-02 16:50:58 · 406 阅读 · 0 评论 -
C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
参考:http://www.kuqin.com/language/20090806/66164.html预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽原创 2015-10-19 14:15:02 · 428 阅读 · 0 评论 -
UI基础控件系列---->UITextField
基本属性对象创建以及文本的显示 UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 300, 200, 50)]; [self.view addSubView:textField]; //设置显示文本 textField.text = @"点击试试";原创 2015-10-12 10:23:53 · 610 阅读 · 0 评论