IOS
文章平均质量分 83
胡小夜
这个作者很懒,什么都没留下…
展开
-
JSONKIT isa错误的解决办法
在开发IOS的时候,好多第三方库使用JSONKIT这个库,在IOS6.0以上的版本编译的话,会提示 Semantic Issue错误。错误显示:direct access to Objective-C's isa is deprecated in favor of object_getClass()看资料说是 使用 array->isa 这个弃用的函数,网上查大部分的资料都说要转载 2015-08-04 14:48:23 · 860 阅读 · 0 评论 -
xmpp 学习笔记1 - MAC 上openfire 服务器搭建
1.下载openfire服务器安装包 http://www.igniterealtime.org/downloads/index.jsp2.打开偏好设置最下端->openfire设置,这里可能会出现原因是没有装java的SDK,装了一个eclipse后就OK(eclipse集成了javaSDK)。之后会显示点击 Open Admin Console 会打开配置页,进原创 2013-11-04 10:41:07 · 1175 阅读 · 0 评论 -
SDWebImage 笔记
SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category转载 2013-10-30 12:17:02 · 612 阅读 · 0 评论 -
关于IOS开发中数据版本更新需要考虑的问题
最近在做一个项目,里面牵扯到数据的更新问题。总结一下。数据更新主要考虑到的问题:1、版本的对照2、网络问题3、更新方案对于版本对照,首先在服务器端应该设置一个版本标示。本人采用plist文件,然后在客户端通过dictionary获取版本号,与本地中的sqlite数据库中的版本号进行对照。不一致便开始更新。同时,这里需要考虑到的是网络和服务器问题。如果网络不同转载 2013-09-23 14:04:25 · 795 阅读 · 0 评论 -
iOS开发之屏幕旋转
1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数:- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { returnYES;}转载 2013-08-16 11:10:46 · 575 阅读 · 0 评论 -
轻听-最好的解压助眠医疗轻音乐集
轻听 v1.0.0版本 这是一款简洁的轻音乐播放器,内置多首权威机构多年研究并认可的具有医疗功效的经典轻音乐(也是作者从多年收藏的纯音乐之中选出来的自认为最好听的),繁忙的工作之余听听可以解压,枯燥的生活之余听听可以陶冶情操,晚上烦躁之时有助于帮助睡眠。 该专辑是著名器乐家、声乐家、名指挥领导一流水准乐团演出包括各类型的抒情音乐,乐曲编排费了不少心思,由头听到尾几个原创 2013-08-15 22:40:50 · 1708 阅读 · 0 评论 -
iOS中block实现的探究
[0. Brief introduction of block]Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性。用维基百科的话来说,Block是Apple Inc.为C、C++以及Objective-C添加的特性,使得这些语言可以用类lambda表达式的语法来创建闭包。用Apple文档的话来说,A block is转载 2013-08-15 11:13:39 · 506 阅读 · 0 评论 -
UIView与CALayer的区别,很详细
1.UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的(Mac下似乎不是这样)。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等等,实际上内部都是在访问它所包含的CAL转载 2013-08-12 09:50:39 · 602 阅读 · 0 评论 -
iOS延时加载图片
重网上下载图片是很慢的,为了不影响体验,选择延时加载图片是很好的办法。一个tableView 列表,左边暂时没有图- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *C转载 2013-08-12 09:36:38 · 763 阅读 · 0 评论 -
layoutSubviews总结
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDispla转载 2013-07-28 10:54:54 · 571 阅读 · 0 评论 -
iphone 线程总结— detachNewThreadSelector的使用
不管是iphone中还是其他的操作系统,多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。一、线程创建与启动线程创建主要有二种方式:(id)init; // designate转载 2013-07-27 16:14:40 · 868 阅读 · 0 评论 -
UISlider 滑块控件—IOS开发
声明欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。文章出处:http://blog.csdn.net/iukeyPC上的滑块是很丑陋的,因为我们只能通过鼠标去拖动他。不过当Jobs把它移植到IOS上时一切变得酷起来,因为我们可以通过手指去拖动它,这种感觉是很妙的。滑块为用户提供了一种可见的做范围调整的方法,用户可以通过拖动一个滑动条改变它转载 2013-07-03 15:30:41 · 627 阅读 · 0 评论 -
UIBezierPath 的使用介绍
使用UIBezierPath类可以创建基于矢量的路径。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。 1.Bezier Path 基础 UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直线段去创建转载 2013-07-02 12:04:27 · 533 阅读 · 0 评论 -
iOS-调用系统的短信和发送邮件功能,实现短信分享邮件分享
导入MessageUI.framework.h文件中#import #import实现 MFMailComposeViewControllerDelegate, MFMessageComposeViewControllerDelegate.m 文件//邮件-(void)showMailPicker { Class ma转载 2013-07-16 17:22:38 · 873 阅读 · 1 评论 -
iOS程序进入后台后仍运行定时器NSTimer
步骤一:在Info.plist中,添加"Required background modes"键,value为:App plays audio步骤二:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions转载 2013-07-15 12:57:33 · 8944 阅读 · 1 评论 -
ios中NSUserDefault的使用
创建一个user defaults方法有多个,最简单得快速创建方法: NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];添加数据到 user defaults: [accountDefaults setObject:nameField.text forKey:UserDefault转载 2013-07-14 12:28:08 · 579 阅读 · 0 评论 -
iOS 中如何添加应用自己的字体
今天蛋疼,突然想用下漂亮的字体,就稍微用研究了一下这个用法,很简单,就三步吧1.第一步找到你想用的字体的 ttf 格式。加入到你的工程的resouce目录下。2.在工程的plist中AddRow,“Fonts provided by application” ,然后添加key为item0,value为你刚才加入的testFont.ttf 。是这样,可以添加多个,转载 2013-06-18 15:30:14 · 600 阅读 · 0 评论 -
mac 上安装mysql
MAC下安装MYSQL有两种方式,一种为压缩包形式 另一种为.dmg文件安装包 。首先先介绍压缩包形式的安装方法:去MySql官网下MySQL classic版mysql-5.1.54-osx10.6-x86_64.tar.gzhttp://dev.mysql.com/downloads/mysql/5.1.html 记住得是64位的。因为mac下的python是6转载 2013-11-04 11:25:48 · 906 阅读 · 0 评论 -
ios即时通讯客户端开发之-mac上搭建openfire服务器
一、下载并安装openfire1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版比如:Openfire 3.8.1,下载后的文件:openfire_3_8_1.dmg2.点击安装,并执行默认操作3.启动openfire服务在系统偏好设置的其他里,点击openfire偏好转载 2013-11-06 10:03:36 · 1231 阅读 · 0 评论 -
iOS中消息的传递机制
本文目录如下所示:可用的机制做出正确的选择Framework示例 小结每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递。本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framework中如何使用,同时,还介绍了一些最佳实践建议,告诉你什么时机该选择使用什么机制。转载 2015-05-26 15:20:14 · 558 阅读 · 0 评论 -
几个iOS工程通用模块介绍
写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。1. MantleMantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层。简单点说,程序中经常要进行网络请求,请转载 2015-05-06 09:45:34 · 467 阅读 · 0 评论 -
解决ios静态库中的类别(category)在工程中不能使用
苹果推荐解决:解决方法为:找到 target 的图标,更改其 Other Linker Flags 为: -all_load 或 -force_load-force_load,后跟随一个文件位置,可以更精确地加载所需文件。 简单点说就是,Objective-C 的动态特性使得需要,为链接器添加一个标签(设置 Other Linker Flags 为 -ObjC)来解转载 2015-05-05 11:36:55 · 2430 阅读 · 0 评论 -
IOS响应式编程框架ReactiveCocoa(RAC)使用示例
ReactiveCocoa是响应式编程(FRP)在IOS中的一个实现框架,它的开源地址为:https://github.com/ReactiveCocoa/ReactiveCocoa# ;在网上看了几篇文章,感觉理论讲了很多,但是代码还是看不太懂,于是自己把它github文档上的一些使用的经典示例实现了一下,项目中有需要时可以直接搬过去用,用的熟练了再读源码也比较容易理解。转载 2015-04-16 16:43:07 · 509 阅读 · 0 评论 -
iOS UIAppearance使用详解
iOS5及其以后提供了一个比较强大的工具UIAppearance,我们通过UIAppearance设置一些UI的全局效果,这样就可以很方便的实现UI的自定义效果又能最简单的实现统一界面风格,它提供如下两个方法。+ (id)appearance这个方法是统一全部改,比如你设置UINavBar的tintColor,你可以这样写:[[UINavigationBar appearanc转载 2015-04-16 16:17:29 · 343 阅读 · 0 评论 -
iOS应用架构谈 开篇
iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android ap转载 2015-04-15 09:41:48 · 425 阅读 · 0 评论 -
iOS使用位置和方向服务(来自苹果apple官方)
本文章来自苹果官方文档,特此声明--------禚Core Location框架为定位用户当前位置和方向(Heading)提供支持,它负责从相应的设备硬件收集信息,并以异步的方式报告给您的应用程序。数据是否可用取决于设备的类型以及所需的硬件当前是否打开,如果设备处于飞行模式,则某些硬件可能不可用。在使用Core Location框架的接口之前,必须将CoreLocation.fra转载 2015-04-14 13:57:30 · 1940 阅读 · 0 评论 -
在iOS中使用icon font
在开发阿里数据iOS版客户端的时候,由于项目进度很紧,项目里的所有图标都是用最平常的背景图片方案来实现。而为了要兼容普通屏与Retina屏的设备,苹果要求每个背景图都要以两种尺寸存(a.png和a@2x.png),这让设计师们增加了成本,因为他们每次都得出两份背景图标。现在在web开发上,icon font技术的应用很广泛,它不仅在解决多分辨率显示问题上很有成效,而且在使用它的时候还能降低转载 2015-04-22 16:28:10 · 538 阅读 · 0 评论 -
Launch Screen在iOS7/8中的实现
目前项目中需要解决的问题是:兼容iOS7和iOS8,之前的版本不需要支持了实现兼容3.5、4、4.7和5.5寸屏幕,竖屏的Lauch Screen创建所需的PNG图片有关iPhone6/6+相关尺寸见这里需要如下尺寸图片:用于iPhone6+的1242x2208,或者1080x1920,也就是Retina HD 5.5用于iPhone6的750x1334,也转载 2015-03-11 16:58:46 · 452 阅读 · 0 评论 -
你的下拉刷新是否“抖”了一下
在进入IOS8之后,你有没有注意到老式的下拉刷新可能会抖一下, 在下拉松开后,scrollView即将回到“刷新中…”的状态过程中的时候。如果你又这个问题,那不妨跟随我来看看怎么解决这个问题。抖动的原因我们先来看看在手松开之后我们对scrollView做了什么事情:ScrollViewDidEndDragging => setContentInset:为了保证在“L转载 2015-03-10 15:36:17 · 823 阅读 · 0 评论 -
ios客户端请求数据加密方式
商业App,在客户端与服务端做通讯时,通讯内容都要进行严格加密,以防止第三方的一些攻击与请求伪造。尤其涉及支付等需要安全性比较高的业务的时候。下面是记录我参与的app,XX音乐的加密方式。以防细节遗忘。先说一下大背景:工程用的请求类是ASIHttpRequest,为了做加密层,我把ASI又封装了一层,继承于ASI,以供加密技术的实现。数据加密整体是在request init的时候原创 2015-02-28 16:23:46 · 4511 阅读 · 0 评论 -
Xcode6中如何添加pch文件
在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上带来了编程的便利性,但潜在的也带来了一些问题,这也是转载 2014-12-22 14:42:46 · 452 阅读 · 0 评论 -
iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了~但是也无所谓,有新东西不怕,学会使用了就行。接下来会探讨一下这些个新的Controller。 - (void)showOkayCancelAlert { NSString转载 2015-01-09 10:02:29 · 528 阅读 · 0 评论 -
ios开发FMDB导入SQLCipher加密数据库
工程用得FMDB做数据库的操作,后期要对数据库做加密,这里有两种方法: 1.对数据库内容加密,存的时候加密,用得时候解密。 2.直接对数据库文件加密。 这里我选择了第二种,原因不细说,自己决定。 百度后,决定用SQLCipher,而且FMDB是支持SQLCipher的,官方配置说明地址 http://sqlcipher.net/ios-tut原创 2014-07-09 11:42:15 · 4555 阅读 · 2 评论 -
GPUIMAGE说明
#import "GLProgram.h"// Base classes#import "GPUImageOpenGLESContext.h"#import "GPUImageOutput.h"#import "GPUImageView.h"#import "GPUImageVideoCamera.h"#import "GPUImageStillCamera.h"#import "转载 2014-01-24 14:52:16 · 951 阅读 · 0 评论 -
6个结果搞懂 GCD中 QUEUE 和 async/sync
同一个blockObject01SSViewController *firstVC = (SSViewController *)self.window.rootViewController;02 [firstVC gcdTestMethod:^{03转载 2013-11-22 16:22:03 · 1401 阅读 · 0 评论 -
CGContext小记
0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipseInRect 画一椭圆4 CGContextSetLineCap 设置线条终点形状转载 2013-06-09 10:51:18 · 647 阅读 · 0 评论 -
UIView的drawRect方法
UIView的drawRect方法 自定义一个UIView类,代码如下: MainView.hCpp代码 #import @interface MainView : UIView { } @end MainV转载 2013-06-09 10:39:28 · 645 阅读 · 0 评论 -
Ios左右菜单PPRevealSideviewController使用的一些心得
PPRevealSideviewController是一个左右移动布局,ios左右菜单的一个东西,功能非常强大,使用起来也很方便。研究了两天,说不上全会用了,但会一些,把一些关键点记下来,希望能帮助到您。下载PPRevealSideviewController,下载地址下载下来后有个叫PPRevealSideViewController的项目,打开就是整个demo,de转载 2013-05-05 00:07:53 · 637 阅读 · 0 评论 -
iPhone图片拉伸:resizableImageWithCapInsets
今天做了一个温度计的应用,需要一个图,能够根据输入的数据将温度计里面的红色图片拉伸。为了达到这个效果,使用了iOS5的函数:resizableImageCapInsets:(UIEdgeInsets)Insets。其中Insets这个参数的格式是(top,left,bottom,right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片加了一个框。只有在框里面的部分才会被拉伸,而框转载 2013-05-16 23:05:42 · 768 阅读 · 0 评论 -
IOS: iPhone键盘通知与键盘定制
一.键盘通知当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘。成为firstresponder可能由用户点击触发,也可向文本View发送becomeFirstResponder消息触发。当文本视图退出first responder时,键盘会消失。文本View退出fir转载 2013-05-16 00:27:18 · 758 阅读 · 0 评论