![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发-拓展篇
文章平均质量分 92
浩羽科技
生命不息,运动不止。
展开
-
iOS开发拓展篇—音效的播放
iOS开发拓展篇—音效的播放 一、简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二、音效的播放 1.翻译 2015-06-30 16:02:14 · 344 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器6)
iOS开发拓展篇—音频处理(音乐播放器6) 一、图片处理 说明: Aspect表示按照原来的宽高比进行缩放。 Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留有空白。 Aspectfill表示按照原来的宽高比缩放,但只能看到部分图片。引发的问题:可能会有一部分超出屏幕。 所以,如果选择了Aspectfill模式,那么需要剪切超出的图片翻译 2015-06-30 16:13:29 · 454 阅读 · 0 评论 -
iOS开发拓展篇-XMPP简单介绍
iOS开发拓展篇-XMPP简单介绍 一、即时通讯简单介绍 1、简单说明 即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM、Yahoo IM、 MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络翻译 2015-06-30 16:16:34 · 313 阅读 · 0 评论 -
Block介绍(一)基础
一、概述 Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。 二、热身 先看一个比较简单的Block例子: 1 2 3 4 int multiplier =原创 2015-07-15 10:00:56 · 375 阅读 · 0 评论 -
删除已经配置的类库和移除CocoaPods
我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些东西从项目中清理出去呢?本文介绍的就是如何删除一个或若干个已经在项目中配置好的第三方类库,以及如何将整个CocoaPods从项目中移除(不是在终端中卸载)。 删除项目中已经配置的类库翻译 2015-07-22 14:12:12 · 448 阅读 · 0 评论 -
CocoaPods安装和使用教程-2
用CocoaPods做iOS程序的依赖管理 MAY 25TH, 2014 文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置ruby淘宝源相关内容 2014-05-25 v2.0 增加国内spec镜像、使用私有pod、podfile.lock、创建spec文件等内容 CocoaPods简介 每种语言发展到一翻译 2015-07-10 16:39:27 · 431 阅读 · 0 评论 -
CocoaPods详解之—-进阶篇
一、Podfile.lock文件 上文讲过,在开始使用CocoaPods,执行完pod install之后,会生成一个Podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它。 该文件用于保存已经安装的Pods依赖库的版本,通过CocoaPods安装了SBJson、AFNetworking、Reachability三个POds依赖库以后对应的Podfile.翻译 2015-07-14 14:31:26 · 374 阅读 · 0 评论 -
Block介绍(四)解开神秘面纱(下)
终于有空开始这系列最后一篇的编写。 这一篇,我们将看到block的内存管理的内部实现,通过剖析runtime库源码,我们可以更深刻的理解block的内存运作体系。 看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开): http://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/BlocksRuntime/runti原创 2015-07-15 10:08:27 · 531 阅读 · 0 评论 -
Block介绍(三)解开神秘面纱(上)
上一篇我们总结了各个情况下,block及其引用到的内存位置情况。 接下来几篇,我们将剖析编译器转码以及运行时库源码来一探block的究竟。 block到底是什么 我们使用clang的rewrite-objc命令来获取转码后的代码。 1、block的底层实现 我们来看看最简单的一个block: [caption id="attachment原创 2015-07-15 10:06:43 · 549 阅读 · 0 评论 -
Block介绍(二)内存管理与其他特征
我们在前一章介绍了block的用法,而正确使用block必须要求正确理解block的内存管理问题。 这一章,我们只陈述结果而不追寻原因,我们将在下一章深入其原因。 一、block放在哪里 我们针对不同情况来讨论block的存放位置: 1.栈和堆 以下情况中的block位于堆中: 1 2 3 4 5 6原创 2015-07-15 10:03:49 · 431 阅读 · 0 评论 -
CocoaPods详解之—-使用篇
一、什么是CocoaPods 1、为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要: 下载开源库的源代码并引入工程 向工程中添加开源库使用到的framework 解决开源库和开源库以及开源库和工程之间的依赖关系翻译 2015-07-14 14:30:07 · 427 阅读 · 0 评论 -
CocoaPods详解之—-制作篇
学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤如下: 一、创建自己的github仓库 CocoaPods都托管在github上(官方链接为:https://github.com/CocoaPods),所有的Po翻译 2015-07-14 14:34:00 · 442 阅读 · 0 评论 -
IOS开发系列--Objective-C之KVC、KVO
IOS开发系列--Objective-C之KVC、KVO 概述 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性: 键值编码KVC键值监听KVO 键值编码KVC 我们知道在C#中可以通过反射读写一个对象的翻译 2015-07-16 11:01:00 · 395 阅读 · 0 评论 -
iOS开发拓展篇—应用之间的跳转和数据传递
iOS开发拓展篇—应用之间的跳转和数据传递 说明:本文介绍app如何打开另一个app,并且传递数据。 一、简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用。 1.新建两个应用,分别为A和B. 2.设置应用B的url。 3.在应用A中编写打开app的代码翻译 2015-06-30 16:15:29 · 326 阅读 · 0 评论 -
iOS开发拓展篇—xib中关于拖拽手势的潜在错误
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一、错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势。 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIView的方法,说明翻译 2015-06-30 16:14:29 · 421 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器1)
iOS开发拓展篇—音频处理(音乐播放器1) 说明:该系列文章通过实现一个简单的音乐播放器来介绍音频处理的相关知识点,需要重点注意很多细节的处理。 一、调整项目的结构,导入必要的素材 调整后的项目结构如下: 二、新建两个控制器 (1)新建一个控制器,用于展示音乐文件列表界面,其继承自UITableViewController (2)新建一个控制器,用于展示播放界翻译 2015-06-30 16:07:51 · 473 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器2)
iOS开发拓展篇—音频处理(音乐播放器2) 说明:该文主要介绍音乐播放界面的搭建。 一、跳转 1.跳转到音乐播放界面的方法选择 (1)使用模态跳转(又分为手动的和自动的) (2)使用xib并设置跳转 2.两种方法的分析 可以使用模态的方法,添加一个控制器,让这个控制器和音乐播放控制器类进行关联,脱线,设置标识符且在cell的点击事件中执行segue即可。 步骤说明:翻译 2015-06-30 16:08:59 · 331 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器3)
iOS开发拓展篇—音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装。 一、控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewController.music=self.music[indexPath.row];不能满足 第二种做法:把整个数组传递给它 第三种做法:设置一个数据源,设置播放控制器的数据源是这个控制器。se翻译 2015-06-30 16:10:15 · 584 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器4)
iOS开发拓展篇—音频处理(音乐播放器4) 说明:该文主要介绍音乐播放器实现过程中的一些细节控制。 实现的效果: 一、完整的代码 YYPlayingViewController.m文件 1 // 2 // YYPlayingViewController.m 3 // 20-音频处理(音乐播放器1) 4 // 5 // Created by app翻译 2015-06-30 16:11:05 · 563 阅读 · 0 评论 -
iOS开发拓展篇—音频处理(音乐播放器5)
iOS开发拓展篇—音频处理(音乐播放器5) 实现效果: 一、半透明滑块的设置 1 /** 2 *拖动滑块 3 */ 4 - (IBAction)panSlider:(UIPanGestureRecognizer *)sender { 5 6 //1.获得挪动的距离 7 CGPoint t=[sender translatio翻译 2015-06-30 16:12:17 · 484 阅读 · 0 评论 -
iOS开发拓展篇—静态库
iOS开发拓展篇—静态库 一、简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开源库 公开源代码,能看到具体实现 比如SDWebImage、AFNetworking (2)闭源库 不公开源代码,是经过编译后的二进制文件,看不到具体实现翻译 2015-06-30 15:57:49 · 211 阅读 · 0 评论 -
iOS开发拓展篇—UIDynamic(简单介绍)
iOS开发拓展篇—UIDynamic(简单介绍) 一、简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力、弹性碰撞等现象 2.物理引擎的价值 广泛用于游戏开发,经典成功案例是“愤怒的小鸟” 让开发人员可以在远离翻译 2015-06-30 16:00:58 · 302 阅读 · 0 评论 -
iOS开发拓展篇—音乐的播放
iOS开发拓展篇—音乐的播放 一、简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件。 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频。 (2)时间比较短的(称之为音效)使用AudioServicesCreateSystemSoundID来创建,而本地时间较长(称之为音乐)使用AVAud翻译 2015-06-30 16:03:04 · 291 阅读 · 0 评论 -
iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一、简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError; - (id)initWithData:(NSD翻译 2015-06-30 16:04:02 · 373 阅读 · 0 评论 -
iOS开发拓展篇—CoreLocation简单介绍
iOS开发拓展篇—CoreLocation简单介绍 一、简介 1.在移动互联网时代,移动app能解决用户的很多生活琐事,比如 (1)导航:去任意陌生的地方 (2)周边:找餐馆、找酒店、找银行、找电影院 2.在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2翻译 2015-06-30 16:05:03 · 301 阅读 · 0 评论 -
iOS开发拓展篇—CoreLocation定位服务
iOS开发拓展篇—CoreLocation定位服务 一、简单说明 1.CLLocationManager CLLocationManager的常用操作和属性 开始用户定位- (void)startUpdatingLocation; 停止用户定位- (void) stopUpdatingLocation; 说明:当调用了startUpdatingLocation方法后,就开始不断地定翻译 2015-06-30 16:06:08 · 234 阅读 · 0 评论 -
iOS开发拓展篇—CoreLocation地理编码
iOS开发拓展篇—CoreLocation地理编码 一、简单说明 CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。 1.使用CLGeocoder可以完成“地理编码”和“反地理编码” 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等) 反地理编码:根据给定的经纬度,获得具体的位置信息 (1)地理编码方法 - (voi翻译 2015-06-30 16:06:59 · 289 阅读 · 0 评论 -
CocoaPods安装和使用教程-1
CocoaPods安装和使用教程 Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含C翻译 2015-07-10 16:37:26 · 284 阅读 · 0 评论