![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOSX Dev
文章平均质量分 91
Sodaslay
这个作者很懒,什么都没留下…
展开
-
IOS应用程序多语言本地化解决方案
最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享!多语言在应用程序中一般有两种做法:一、程序中提供给用户自己选择的机会;二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:1.本地化应用程序名称2.本地化字符串3.本地化图片4.转载 2012-08-17 16:41:17 · 660 阅读 · 0 评论 -
IOS学习笔记28—SQLite3第三方库之FMDB
SQLite是一种小型的轻量级的关系型数据库,在移动设备上使用是非常好的选择,无论是Android还是IOS,都内置了SQLite数据库,现在的版本都是SQLite3。在IOS中使用SQLite如果使用SDK提供的方法,特别麻烦也不利于理解和使用,在之前的http://blog.csdn.net/tangren03/article/details/7781930文章中就是使用IOS的SDK自带的S转载 2012-08-17 16:43:20 · 1994 阅读 · 0 评论 -
iOS多线程编程:线程同步总结
1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS平台转载 2012-07-13 15:49:58 · 1553 阅读 · 0 评论 -
iOS中的图像处理(一)——基础滤镜
最近在稍微做一些整理,翻起这部分的代码,发现是两个多月前的了。这里讨论的是基于RGBA模型下的图像处理,即将变换作用在每个像素上。代码是以UIImage的category形式存在的:[cpp] view plaincopytypedef struct _singleRGBA { unsigned char red;转载 2012-08-17 16:49:21 · 825 阅读 · 0 评论 -
iOS中的图像处理(二)——卷积运算
关于图像处理中的卷积运算,这里有两份简明扼要的介绍:文一,文二。其中,可能的一种卷积运算代码如下:[cpp] view plaincopy- (UIImage*)applyConvolution:(NSArray*)kernel { CGImageRef inImage = self.CGImage; CFD转载 2012-08-17 16:50:14 · 1149 阅读 · 0 评论 -
iOS中的图像处理(三)——混合运算
有时候,单独对一张图像进行处理是很难或者根本达不到我们想要的效果的。一个好的滤镜效果的诞生,往往要经过很多复杂步骤、细致微调、图片应用效果观察以及很多图层叠加。我在JSWidget上发现了一些常用混合算法,对应着一些常用混合模式,通过这些blend modes,我们可以指定两张图像如何混合。不过在此之前,我们需要纯颜色图像和渐变图像来做辅助:[cpp] view转载 2012-08-17 16:50:57 · 1481 阅读 · 0 评论 -
Core Graphics绘图实例代码
在项目中添加framwork : CoreGraphics.framework然后就可以使用。 123456789101112131415161718192021222324252627转载 2012-10-13 00:37:25 · 862 阅读 · 0 评论 -
CoreAnimation编程指南(一)概念
第一章 核心动画概念核心动画是一套包含图形绘制,投影,动画的Objective–C类集合。它通过开发人员所熟悉的应用程序套件和Cocoa Touch视图架构的抽象分层模式,同时使用先进的合作效果提供了一套流畅的动画。动态的动画接口很难创建,但是核心动画通过提供如下接口使这些创建起来变得更加简单:简单易用的高性能混合编程模型。 类似视图一样,你可以通过使用图层来创建复杂的接转载 2012-11-25 00:09:12 · 527 阅读 · 0 评论 -
CoreAnimation编程指南(五)图层内容
当我们使用Cocoa的视图的时候,我们必须继承NSView或者UIView并且重载函数drawRect:来显示任何内容。但是CALayer实例可以直接使用,而无需继承子类。因为CALayer是一个键-值编码兼容的容器类,你可以在实例里面存储任意值,所以子类实例化完全可以避免。1.1 给CALayer提供内容你可以通过以下任何一种方法指定CALayer实例的内容:使用包含图片内容的C转载 2012-11-25 00:12:08 · 507 阅读 · 0 评论 -
CoreAnimation编程指南(十)KVC
CAAnimation和CALayer类扩展了NSKeyValueCoding协议,给键添加默认值,扩展了封装协议,支持CGPoint、CGRect、CGSize和CATransform3D关键路径。1.1 键-值编码兼容的容器类CALayer和CAAnimation都是键-值编码兼容的容器类,允许你修改属性键对应的值。即使键为“someKey”对应的属性没有被定义,你也可以给“some转载 2012-11-25 00:15:32 · 461 阅读 · 0 评论 -
iOS多线程编程指南(四)线程同步
第四章 线程同步应用程序里面多个线程的存在引发了多个执行线程安全访问资源的潜在问题。两个线程同时修改同一资源有可能以意想不到的方式互相干扰。比如,一个线程可能覆盖其他线程改动的地方,或让应用程序进入一个未知的潜在无效状态。如果你幸运的话,受损的资源可能会导致明显的性能问题或崩溃,这样比较容易跟踪并修复它。然而如果你不走运,资源受损可能导致微妙的错误,这些错误不会立即显现出来,而是很久转载 2012-11-25 00:23:12 · 822 阅读 · 0 评论 -
iOS多线程编程指南(一)关于多线程编程
第一章 关于多线程编程多年来,计算机的最大性能主要受限于它的中心微处理器的速度。然而由于个别处理器已经开始达到它的瓶颈限制,芯片制造商开始转向多核设计,让计算机具有了同时执行多个任务的能力。尽管Mac OS X利用了这些核心优势,在任何时候可以执行系统相关的任务,但自己的应用程序也可以通过多线程方法利用这些优势。1.1 什么是多线程多线程是一个比较轻量级的方法来转载 2012-11-25 00:20:44 · 570 阅读 · 0 评论 -
iOS多线程编程指南(附录)
本附录描述了Mac OS X和iOS上面一些关键的高级线程安全的框架。本附录的信息有可能会发生改变。Cocoa在Cocoa上面使用多线程的指南包括以下这些:不可改变的对象一般是线程安全的。一旦你创建了它们,你可以把这些对象在线程间安全的传递。另一方面,可变对象通常不是线程安全的。为了在多线程应用里面使用可变对象,应用必须适当的同步。关于更多信息,参阅”可变和不可变对比”。许多对转载 2012-11-25 00:24:04 · 643 阅读 · 0 评论 -
Cocoa 图形开发基础
Cocoa图形介绍在本系列前一阶段,我主要讨论了如何使用Cocoa来编写用户界面。我还介绍了面向对象编程(OOP)的基本概念,以及在程序中最经常使用的Cocoa类。今天,我们开始把重点转向Cocoa的画图和二维图形处理上。我们今天会做一个小小的起步,讨论如何在窗口中绘制简单的图形在以后的章节中,我将会涉及绘制更复杂的图形,实现动画,以及处理原始图象数据。在此之前,让我们从最基本开始转载 2012-11-18 12:58:00 · 1360 阅读 · 0 评论 -
Cocoa自定义View
程序中所有的可视对象要么是window,要么是view.在这一章中,你将创建一个NSView的子类. 随着时间的推移,你一般会需要创建自定义的view来完成自定义画图和事件响应.即使你没有打算这样做,你也应该通过学习创建view类来了解cocoa的内部工作机制window是NSWindow的对象.每个window都会有多个views,每个view描述window中的一个矩形区域. view负责转载 2012-11-18 13:02:23 · 2539 阅读 · 0 评论 -
CoreAnimation编程指南(七)图层Action
图层的行为在以下情况发生的时候被触发:从图层树里面插入或者删除一个图层,图层的属性值被修改了,或者程序显式要求。通常情况下,行为触发器是动画显示的结果所在。 1.1 行为对象的角色一个行为对象是一个通过CAAction协议响应行为标识符的对象。行为标识符使用标准圆点分隔的关键路径来命名。图层负责把行为标识符映射到特定的行为对象。当一个特定标识符的行为对象被确定的时候,它会发送一个CAA转载 2012-11-25 00:13:23 · 473 阅读 · 0 评论 -
CoreAnimation编程指南(八)事务
图层的每个改变都是事务的一部分。CATransaction是核心动画类,它负责成批的把多个图层树的修改作为一个原子更新到渲染树。本章介绍了核心动画支持的两种事务。隐式事务和显式事务。 1.1 隐式事务当图层树被没有获得事务的线程修改的时候将会自动创建隐式事务,当线程的运行循环(run-loop)执行下次迭代的时候将会自动提交事务。代码1的示例修改图层的opacity,zPosi转载 2012-11-25 00:14:14 · 577 阅读 · 0 评论 -
CoreAnimation编程指南(九)图层布局
NSView提供了经典的“stuts and springs”模式,用于视图调整大小的时候把关联到它父图层的视图重新调整位置。图层支持该模式,而且Mac OS X上面的核心动画提供了一个更通用的布局管理器机制,允许开发者自己写他们自己的布局管理器。可以为图层定制一个布局管理器(它通常实现CALayoutManager协议),负责给图层的子图层提供布局功能。本章介绍了约束布局管理器和如何配置一系转载 2012-11-25 00:14:50 · 474 阅读 · 0 评论 -
iOS多线程编程指南(二)线程管理
线程管理Mac OS X和iOS里面的每个进程都是有一个或多个线程构成,每个线程都代表一个代码的执行路径。每个应用程序启动时候都是一个线程,它执行程序的main函数。应用程序可以生成额外的线程,其中每个线程执行一个特定功能的代码。当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体。每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片。一个线程可以和其他线程或其他转载 2012-11-25 00:21:27 · 650 阅读 · 0 评论 -
Mac OS、IOS中绘图总结
Paths中的几个重要元素Pointsvoid CGContextMoveToPoint ( CGContextRef c, CGFloat x, CGFloat y);指定一个点成为current pointQuartz会跟踪current point一般执行完一个相关函数后,current point都会相应的改变.Lines相关的几个函数原创 2012-11-17 18:23:34 · 2138 阅读 · 0 评论 -
CoreAnimation编程指南(三)几何变换
本章介绍图层的几何组成部分,及他们之间的相互关,同时介绍如何变换矩阵可以产生复杂的视觉效果。 1.1 图层的坐标系图层的坐标系在不同平台上面具有差异性。在iOS系统中,默认的坐标系统原点在图层的中心左上角地方,原点向右和向下为正值。在Mac OS X系统中,默认的坐标系原点在图层的中心左下角地方,原点向右和向上为正值。坐标系的所有值都是浮点类型。你在任何平台上面创建的图层都采用该平台默转载 2012-11-25 00:10:43 · 468 阅读 · 0 评论 -
CoreAnimation编程指南(四)图层树结构
图层不但给自己提供可视化的内容和管理动画,而且充当了其他图层的容器类,构建图层层次结构。本章介绍了图层层次结构,以及如何操纵该图层层次结构。 1.1 什么是图层树的层次结构图层树是核心动画里面类似Cocoa视图的层次结构。比如一个NSView或者UIView的实例拥有父视图(superview)和子视图(subview),一个核心动画的图层拥有父图层(suplayer)和子图层(s转载 2012-11-25 00:11:24 · 562 阅读 · 0 评论 -
CoreAnimation编程指南(六)动画
动画是当今用户界面的关键因素。当使用核心动画的时候,动画是自动完成的。没有动画的循环和计数器。你的应用程序不负负责重绘,也不负责跟踪动画的当前状态。动画在独立线程里面自动执行,没有和你的应用程序交互。本章提供了对动画类的概览,和介绍如何创建隐式的和显式的动画。 1.1 动画类和时序核心动画提供了一套你可以在你应用程序里面使用的动画类的表现:CABasicAnimation提转载 2012-11-25 00:12:47 · 436 阅读 · 0 评论 -
CGAffineTransform相关函数
CoreGraphics.hCGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI_2); [xxx setTransform:rotation]; 呵呵就这么简单的两行代码就可以实现了!顺便记录一些常量,以后用的着!#define M_E 2.718281828459045235360287471转载 2012-11-25 00:06:43 · 459 阅读 · 0 评论 -
NSWindow知多少?
如果你有其他的平台的經驗,來寫 Cocoa 應用程式,可能會發現 NSWindow 的行為跟你想得似乎不太一樣。※ NSWindow 屬於 View雖然現在的 GUI 應用程式的架構大都遵循 MVC 的設計典範,但是不同的 Framework 之間,那個部分屬於 View,那個部分又屬於 Contoller,規劃卻又不盡相同。在許多 Framework 的設計中,Window 被當成是转载 2012-12-09 21:34:02 · 4731 阅读 · 0 评论 -
NSTextField与NSTextView
Cocoa 提供了两种文本编辑控件 [1]:NSTextView 和 NSTextField。从表面上看,前者比后者功能丰富,前者一般用作复杂的文字编辑,后者一般接受简单的数据输入。二者处理 Enter 和 Tab 键的行为不同。NSTextView 的方式和通常的编辑器相同:给编辑内容添加换行或者 tab 字符。NSTextField 的方式则类似于其它非文本编辑的 Cocoa 控件:E转载 2012-12-18 10:49:22 · 8145 阅读 · 1 评论 -
iOS6中的Core Image图像过滤技术学习教程
在这个教程中,你将学习最新的Core Image过滤技术。跟着这个教程,你会通过实际动手的经验来学习Core Image技术,亲身体验如何应用一些不同的滤镜来实时地产生各种神奇的效果。Core Image是一个很强大的框架。它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度, 色泽, 或者曝光。 它利用GPU(或者CPU,取决于客户)来非常快速、甚至实时地处理图像数据和视频的帧。转载 2013-02-28 09:15:23 · 875 阅读 · 0 评论 -
AVFoundation总结
1, Using Assets [自己理解为:数据的来源] 这个资源可以来自自己的ipod媒体库或图片也可以是文件 creating an Asset Object NSRUL *url = 后跟一个网址 如电影文件等资源 AVURLAsset *ansset = [[AVURLSset alloc] initwithURL:url options:nil]; 2.获得一个视转载 2013-03-11 09:29:19 · 1142 阅读 · 0 评论 -
Storyboard全解析
(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解决写很多重复的跳转方法转载 2013-03-20 14:07:56 · 1116 阅读 · 0 评论 -
iOS多线程编程指南-前言
线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术如操作对象(Operation objects)和Grand Central Dispatch(GCD),提供一个更加现代化和高效率的基础设施来实现多核并发,但是Mac OS X和iOS也提供一套接口来创建和管理线程。本文档介绍了Mac OS X上面的可用线程包,并且演示如何使用它们。本文档还描述了在你的应用中多线程代码同步转载 2012-11-25 00:19:16 · 446 阅读 · 0 评论 -
Cocoa中监听、观察和通知的五种方法
本文介绍Objective C中实现观察者模式(也被称为广播者/监听者、发布/注册或者通知)的五种方法以及每种方法的价值所在。该文章将包括:1 手动广播者和监听者(Broadcaster and listeners)2 键-值观察(Key Value Observing)3 通知中心(Notification center)4 上下文通知(Context notificat转载 2013-04-17 09:59:18 · 947 阅读 · 0 评论 -
SCNetworkReachability 使用说明
在douban应用中,需要联网是必须的,看书发现,apple对于需要联网的应用要求很高,必须要进行联网检查,现在还任务在身,但是忙中抽闲,看了看SCNetworkReachability,用于进行联网检查的。下面记录一下。说明引用网上网友的,特此注明、、、一.基本知识在需要联网的iPhone程序中,我们首先需要检查网络的状态,如果不能连接网络则告诉用户程序不能使用的原因是没有网转载 2012-12-17 10:01:49 · 994 阅读 · 0 评论 -
xcode 4.2 不再支持 Window-Based Application 的解决办法(转载)
xcode 4.2 不再支持 Window-Based Application 的解决办法: 1.创建空项目 Empty Application。(在Xcode4.2下创建的这个空项目不再有MainWindow.xib文件了。) 2.Ctrl+N,创建User Interface下面的Window(选择“iOS->User Interface->Window),命名成Mai转载 2013-06-19 18:05:06 · 781 阅读 · 0 评论 -
iPhone应用程序 将图片保存到相册实例
iPhone应用程序 将图片保存到相册实例是本文要介绍的内容,主要是以代码来实现本文要表现的内容,进入话题。有时候你的应用需要将应用中的图片保存到用户iPhone或者iTouch的相册中。 可以使用UIKit的这个类方法来完成。void UIImageWriteToSavedPhotosAlbum ( UIImage *image, id comple转载 2013-07-09 13:00:57 · 1009 阅读 · 0 评论 -
iPhone App里保存用户密码的安全方法
转自CocoaChina会员的博客,原文地址 http://b.imi.im/?p=362作为一名iPhone开发者, 你需要对你的用户安全负责. 请问, 你是怎么保存用户的密码的?直接保存到plist里?加密? AES? DES? 能保证你的代码不被反编译拿到你的加密Key?这也未免太不苹果了吧. 我Google了一下, 国内的开发者根本没有注意到这个问题.苹果系统中有个程序转载 2013-06-24 10:36:59 · 2047 阅读 · 0 评论 -
JSon解析之JSonKit
cocoa 下json开源的类库有很多,其中JSONKit库是非常简单易用而且效率又比较高的。想要使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中(下载链接);然后加入libz.dylib即可解析代码举例: #import "JSONKit.h"//假设 strJson 是网络上接收到的 json 字符串,NSSt转载 2013-07-11 17:14:41 · 1058 阅读 · 0 评论 -
SQLite操作语句
建立数据库档案用sqlite3建立数据库的方法很简单,只要在shell下键入(以下$符号为shell提示号,请勿键入):$ sqlite3 foo.db如果目录下没有foo.db,sqlite3就会建立这个数据库。sqlite3并没有强制数据库档名要怎么取,因此如果你喜欢,也可以取个例如foo.icannameitwhateverilike的档名。转载 2013-07-11 13:08:18 · 1175 阅读 · 0 评论 -
UIView动画
UIView动画能够完美的建立起一座简介视图当前状态和未来状态的视觉桥梁,可以把所有视觉变化链接起来,产生流畅的动画效果。可以产生动画效果的变化包括:位置变化,大小变化,伸缩变化,透明度变化,隐藏和显示变化,视图层次顺序变化,仿射变化。 UIView动画成块运行,也就是说作为完整的事物一次性运行。 Copy codeCGContextRef context = UIGr转载 2013-06-27 22:49:25 · 821 阅读 · 0 评论 -
微信摇一摇动画效果
- (void)shake{ __block UIImageView* imageViewUp = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cover_4.jpg"]]; imageViewUp.frame = CGRectMake(0.0f, -(self.view.bound原创 2013-06-28 08:42:50 · 1038 阅读 · 0 评论 -
IOS中的结构体保存到数组与读取
typedef struct{ CGFloat r; CGFloat g; CGFloat b;}TestStruct; NSMutableArray *array = [NSMutableArray array];//保存 for (unsigned i = 0 ; i TestStruct s转载 2013-06-28 14:58:43 · 1345 阅读 · 0 评论