随笔分类 -  IOS

1
ios开发随笔。
iOS开发长文--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
摘要:链接:http://www.cocoachina.com/ios/20150129/11068.htmliOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录、微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等。今天将和大家一起学习如何使用系统应用、使用系统服... 阅读全文
posted @ 2015-03-19 12:04 海阔天空——栋 阅读(333) 评论(0) 推荐(0)
2015-03-19之UITabBarController简单介绍
摘要:UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。切记给UItabbarItem指定图片时,图片的高度不能大于49,由于UItabbarIt... 阅读全文
posted @ 2015-03-19 11:58 海阔天空——栋 阅读(181) 评论(0) 推荐(0)
在多线程中进行UI操作--ios学习笔记
摘要:iOS 上不建议在非主线程进行UI操作,在非主线程进行UI操作有很大几率会导致程序崩溃,或者出现预期之外的效果。我开始不知道这一点,在子线程中进行了弹窗操作,结果程序就出问题了!报的错误是(EXC_BAD_ACCESS(code=2,address=0xcc),0x1a0ad32: movl 204(%ecx), %edx),我以为是空指针导致的内存泄露,用了很多方法,但这问题感觉很顽固,困扰了我很多天。后来有位大牛指点了我,问我是不是在子线程进行这个弹窗操作。。。直到此时我才明白问题出在哪里,问题顺利解决。有时候出现bug却不知道是哪引起的,这时是最纠结的,等明确了问题所在,问题就不是问题了 阅读全文
posted @ 2013-10-07 11:41 海阔天空——栋 阅读(204) 评论(0) 推荐(0)
Xcode4快速Doxygen文档注释 — 简明图文教程
摘要:准备2个文件:文件一,ThisService.app文件二,Doxygen.rb下载上述2个文件:ThisService&Doxygen_rb准备好之后,两步配置,一步操作:配置一,打开ThisService,如上图,Name随意填写,将来会出现在右键菜单,红框1把Doxygen.rb拽到红框2,选Filter(both),红框3然后Create Service,红框4配置一完成!配置二,打开系统设置,找到Keyborad,并打开,从Services(红框5)里边找到刚刚创建的服务,并勾选,红框6,然后点红框7处开始设置快捷键,这里我选用的是Command+option+/ (这个和X 阅读全文
posted @ 2013-09-25 08:15 海阔天空——栋 阅读(201) 评论(0) 推荐(0)
SVN命令行
摘要:1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库 svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关) 例如: 阅读全文
posted @ 2013-09-18 15:18 海阔天空——栋 阅读(206) 评论(0) 推荐(0)
UITableView与UITableViewCell
摘要:ITableView用来以表格的形式显示数据。关于UITableView,我们应该注意:(1)UITableView用来显示表格的可见部分,UITableViewCell用来显示表格的一行。(2)UITableView并不负责存储表格中的数据,而是仅仅存储足够的数据使得可以画出当前可见部分。(3)UITableView从UITableViewDelegate协议获取配置信息,从UITableViewDataSource协议获得数据信息。(4)所有的UITableView实现时实际上只有一列,但是我们可以通过向UITableViewCell中添加子视图,使得它看起来有好几列。(5)UITable 阅读全文
posted @ 2013-09-11 14:16 海阔天空——栋 阅读(279) 评论(0) 推荐(0)
OS学习笔记32—使用Storyboard实现复杂界面
摘要:Storyboard是IOS5以后新增的内容,从名字上看,是以故事面板的形式来展现界面间的逻辑关系,Storyboard的功能很强大,今天就简要介绍Storyboard的基本使用,界面间的关系,以及如何使用xib和Storyboard共同使用的情况。首先新建一个Empty工程,并新建一个Storyboard,我命名为MainStoryboard,以下是完整的工程目录结构:打开MainStoryboard后拖入一个UITabViewController,并设置两个tab为UINavigationController,第三个tab设置一个ViewController。关联的方式为按住control 阅读全文
posted @ 2013-09-09 20:10 海阔天空——栋 阅读(352) 评论(0) 推荐(0)
UIScrollView_滚动视图以及CFAbsoluteTimeGetCurrent
摘要:最近的一个项目中,要求在已有的界面上加入一个半透明的蒙板,提示用户界面上每个元素的功能。而且蒙板不是只有一页,要求可以左右滑动切换页面。简单的整理一下实现的思路:1. 既然是要显示半透明的蒙板图片,UIImageView肯定是少不了了。2. 要多页显示且能左右滑动,把UIImageView嵌入到UIScrollView中,并将UIScrollView的pagingEnabled属性设为YES,即可实现整页的滑动。3. 按当下流行的设计方案,图片滑动时,用点来表示当前页和总页数,这个就要用到UIPageControl控件了。4. 这些用于显示帮助的元素不应扰乱xib界面文件对页面的定义,所以使用 阅读全文
posted @ 2013-08-30 11:04 海阔天空——栋 阅读(342) 评论(0) 推荐(0)
UIScrollView_滚动视图
摘要:UIScrollView 类负责所有基于 UIKit 的滚动操作。一、创建CGRectbounds=[[UIScreenmainScreen]applicationFrame];UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:bounds];当你创建完滚动视图后,你可以将另一个视图的内容粘合到滚动视图的空白页上。这回创建一个滚动的内容窗口:[scrollViewaddSubview:myView];你必须给出内容的实际大小,这样滚动视图才知道滚动的范围:scrollView.contentSize=myView.frame.s 阅读全文
posted @ 2013-08-29 17:21 海阔天空——栋 阅读(223) 评论(0) 推荐(0)
Core Animation之基础介绍
摘要:Core Animation可以翻译为核心动画,它为图形渲染和动画提供了基础。使用核心动画,你只需要设置一些参数比如起点和终点,剩下的帧核心动画为你自动完成。核心动画使用硬件加速,不用消耗cpu资源。其实平时咱们开发的iOS应用都在有意无意的使用了核心动画。动画不会替代View,而是和View一起提供更好的性能。Core Animation通过缓存view上的内容到bitmap,这样bitmap就可以直接在图形硬件上操作。从而提高了性能。核心动画所在的位置:1、关于层类Layer Classes是core animation的基础。Layer Classes提供了一个抽象的概念,这个概念对于那 阅读全文
posted @ 2013-08-23 16:12 海阔天空——栋 阅读(219) 评论(0) 推荐(0)
CORE ANIMATION的学习备忘录
摘要:CORE ANIMATION的学习备忘录(第一天)研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情。鉴于Core Animation的内容实在是非常繁杂,应用的Obj-C语言本身的特性也很多,所以写个备忘录记录一下,懂的人看 阅读全文
posted @ 2013-08-23 15:51 海阔天空——栋 阅读(175) 评论(0) 推荐(0)
UIWindow & UIWindowLevel笔记
摘要:UIWindow & UIWindowLevel笔记一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们可以采取两种方法将view添加到UIWindow中: 1、addSubview 直接将view通过addSubview方式添加到window中,程序负责维护view的生命周期以. 阅读全文
posted @ 2013-08-23 15:31 海阔天空——栋 阅读(220) 评论(0) 推荐(0)
iOS之block
摘要:IOS block 教程http://pernghh.pixnet.net/blog/trackback/eac87d412e/33563409本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来。文字简体化了,原来是繁体,变数=变量,这个注意一下。本章学习目标:1. 了解何谓block。2. 了解block的使用方法。Block 是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初学者来说也不是很容易了解,但是在iOS SDK 4.0之后,block几乎出现在所有新版的API之中,换句话说,如果不了解block这个概念就无法使用SDK 4 阅读全文
posted @ 2013-08-23 14:34 海阔天空——栋 阅读(241) 评论(0) 推荐(0)
ios高阶教程 块对象(block)的利用
摘要:在iOS 4.0引入了块对象。快对象是C级别的构造,您可以在C或Objective-C代码中使用快对象。从本质上说,块对象本质上是一个匿名函数加上该函数的伴随数据。有些时候,其他语言也称块对象为 closure或者lambda。块对象非常适用于回调函数。如果您需要有很便捷的方法将执行代码和相关数据组合在一起,块对象也是很好的选择。在 iOS系统中,块对象通常用于下述场合:作为委托或委托方法的替代品。作为回调函数的替代品。用于实现一次性操作的完成处理器。简化在群体所有子项上迭代执行某种任务的操作。配合分发队列。可用于执行异步任务为什么要使用block?块对象封装一个单位(用术语来说就是代码段), 阅读全文
posted @ 2013-08-23 09:28 海阔天空——栋 阅读(581) 评论(0) 推荐(0)
iOS 上的蓝牙框架 - Core Bluetooth for iOS
摘要:原文:Core Bluetooth for iOS 6Core Bluetooth 是在iOS5首次引入的,它允许iOS设备可以使用健康,运动,安全,自动化,娱乐,附近等外设数据。在iOS 6 中,这个API被扩展了,让iOS也能成为数据提供方,也就是Server(Peripheral)端,可能使它与其它 iOS 设备交互数据。Core Bluetooth API 基于BLE4.0规范。这个框架涵盖了BLE标准的所有细节. 不过,仅仅只有新的iOS设备和MAC是兼容BLE标准的: iPhone 4S, iPhone5, Mac Mini, New iPad, MacBook Air, MacB 阅读全文
posted @ 2013-08-22 14:49 海阔天空——栋 阅读(9916) 评论(2) 推荐(4)
IOS ARC浅析
摘要:本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/本文适合人群:对iOS开发有一定基础,熟悉iOS开发中内存管理的Reference Counting机制,对ARC机制有听闻很向往但是一直由于种种原因没有使用的童鞋。本文将从ARC机理入手对这个解放广大iOS开发者的伟大机制进行一个剖析,并逐步引导你开始使用ARC。一旦习惯ARC,你一定会被它的简洁高效所征服。写在开 阅读全文
posted @ 2013-08-20 16:14 海阔天空——栋 阅读(299) 评论(0) 推荐(0)
Custom UIView 要重定的方法
摘要:Custom UIView,要自定义,需要重写:- (id)initWithFrame: (CGRect) frame //依照Frame建立新的View,建立出來的View要通过addSubview加入到父View中。-(void)drawRect:(CGRect)rect //自画,永远不要直接调用drawRect,而要通过 [self setNeedDisplay],由系统再去异步调用drawRect。并且必须在主线程中调用。自定义UIView不能使用nib文件设计界面,必须在程序中用代码创建各个控件,否则即使在主线程中调用setNeedDisplay也是不起作用。大致步骤1) 新建一个 阅读全文
posted @ 2013-08-15 17:21 海阔天空——栋 阅读(223) 评论(0) 推荐(0)
ios NSNotificationCenter消息注册与撤销
摘要:iosNSNotificationCenter消息注册与撤销一,使用defaultcenter。简单的情况下,若自己没有太多的消息需要注册和处理,直接使用[NSNotificationCenterdefaultCenter]来调用默认的消息中心就够用了。如果,有一些特殊的要求那么,就需要试一下一个继承自NSnotificationcenter的子类。二,在视图显示的时候接受消息。有些时候,我们需要在一个已经显示在主界面上的ViewController上做一点动作,比如当一个同步过程完成后,把同步的结果显示在界面上。但是,如果这个ViewController没有显示在主界面上的话,它就不关心同步 阅读全文
posted @ 2013-08-14 20:15 海阔天空——栋 阅读(1116) 评论(0) 推荐(0)
UIApplication sharedApplication详细解释-IOS
摘要:iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示:int UIApplicationMain (int argc,char *argv[],NSString *principalClassName,NSString *delegateClassName);那么UIApplicationMain函数到底做了哪些事情呢?这个函数主要负责三件 事情:1)从给定的类名初始化应用程序对象,也就是初始化UIApplication或者子类对象的一个实例,如果你在这里给定的是nil,那么系统会默认UIApplication类,也就主要是这个类来 阅读全文
posted @ 2013-08-14 20:07 海阔天空——栋 阅读(260) 评论(0) 推荐(0)
ios 数据持久化的三种方式
摘要:IOS常用的三种本地数据持久化方式:1:属性序列化列表 存储到文件 plist;2:归档序列化,对模型数据进行归档;3:本地数据库存储,嵌入式sqlite;其实这三种方式都是把数据存储到本地文件里边,只是实现方式和使用的场景不同而已,复杂程度从上到下增加。除此之外,还有一种方式存储数据,就是使用NSUserDefaults,它已键值对的形式记录应用程序的全局设置,其实settings.bundle里边的数据就是存在NSUserDefaults的。主要代码如下:方式一:plistObjective-c代码//先获取plist文件路径NSArray*path=NSSearchPathForDire 阅读全文
posted @ 2013-08-14 19:05 海阔天空——栋 阅读(657) 评论(0) 推荐(1)

1