08 2013 档案
摘要:对于C/C++语言来讲, :-----const就是只读的意思,只在声明中使用;-----static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.-----static const 应该就是上面两者的合集.下面分别说明:全局:const,只读的全局变量,其值不可修改.static,规定此全局变量只在当前模块(文件)中可见.static const,既是只读的,又是只在当前模块中可见的.
阅读全文
摘要:CALayer(这里简单地称其为层,与photoshop里的层类似)。 首先要说的是CALayers 是屏幕上的一个具有可见内容的矩形区域,每个UIView都有一个根CALayer,其所有的绘制(视觉效果)都是在这个layer上进行的。CALayer可以影响UIView的外观的特性有: 层的大小尺寸背景色内容(比如图像或是使用Core Graphics绘制的内容)是否使用圆角是否使用阴影等等。需要说明的是CALayer的大部分属性都可以用来实现动画效果。另外,你可以直接使用CALayer,也可以使用其子类,如CAGradientLayer,CATextLayer, CAShapeLay...
阅读全文
摘要:Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象加入到系统Notification管理机制队列中,系统会在指定的时间激发将本地Notification,应用只需设计好处理Notification的方法就完成了整个Notification流程了。本地Notification所使用的对象是UI
阅读全文
摘要:代码 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 6 [button setTitle:@"哈哈哈" forState:UIControlStateNormal]; 7 [self.view addSubview:button]; 8 9 //1. 关闭autoresize自动翻译10 button.translatesAutore...
阅读全文
摘要:一.通过弹出控制器,获取本地音乐列表,然后播放。该方法类似于UIImagePickerController。导入MediaPlayer.framework框架。1 -(void)musicInit{2 //创建播放器控制器3 MPMediaPickerController *mpc = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];4 //设置代理5 mpc.delegate = self;6 [self presentViewController:mpc...
阅读全文
摘要:MKReverseGeocoder 过时,IOS5中使用CLGeocoderCLGeocoder是iOS5中新加的一个类,其实跟之前的MKReverseGeocoder很相似,不过CLGeocoder是以一种block的形式来反向地理编码的。看了官方的文档,MKReverseGeocoder在iOS5中被禁止了,但其实你还是可以使用这个的,只不过在未来的某个时间,会从文档中删除掉,而且苹果这次增加的CLGeocoder类,跟CoreLocation整合在了一起,其实想想也应该是一起的,定位,反向,本应该属于一个系列的。CLGeocoder类中有几个方法,一个是把经纬度转化成大家能看懂的信息,比
阅读全文
摘要:11.1 iOS定位服务11.2 iOS地图11.3 Web地图11.1 iOS定位服务iOS中有三个定位服务组件: Wifi定位,通过查询一个Wifi路由器的地理位置的信息。比较省电,iPod touch和iPad也可以采用。 蜂窝基站定位,通过移动运用商基站定位。也适合有3G版本的iPod touch和iPad。 GPS卫星定位,通过3-4颗GPS定位位置定位,最为准确,但是耗电量大,不能遮挡。Core LocationCore Location是iPhone、iPad等开发定位服务应用程序的框架。我们要在Xcode中添加“CoreLocation.framework”存在的框架。主要使用
阅读全文
摘要:要改变tableHeaderView的高度,必须为其重新设置view。1 self.headerView.height = self.textView.bottom + 10;2 self.tableView.tableHeaderView = self.headerView;
阅读全文
摘要:项目时,设置了table的分割线,但是它就是害羞,不出来,,,找了很久也没找到原因,所以就自定义一个。实现如下:UITableView中将分割线样式改为None。1 tableView.separatorStyle = UITableViewCellSeparatorStyleNone;自定义UITableViewCell中复写- (void)drawRect:(CGRect)rect方法 1 - (void)drawRect:(CGRect)rect 2 { 3 CGContextRef context = UIGraphicsGetCurrentContext(); 4 ...
阅读全文
摘要:准备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
阅读全文
摘要:互联网 App 中经常会用到 html 颜色值转换 UIColor,比如:#FF9900、0XFF9900 等颜色字符串,以下方法可以将这些字符串转换为 UIColor 对象。 1 #define DEFAULT_VOID_COLOR [UIColor clearColor] 2 3 4 5 6 7 + (UIColor *) colorWithHexString: (NSString *) stringToConvert 8 { 9 NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[...
阅读全文
摘要:作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json。本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API,Tou
阅读全文
摘要:SDWebImage使用——一个可管理远程图片加载的类库SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。将SDWebImage类库添加入工程时,一定注意需要添加MapKit.framework,ImageIO.framework,如图所示,因为MKAnnotationView+WebCache.h依赖该framework。使用示范的代码:1.UITableView使用UIImageView+WebCach
阅读全文
摘要:1.去RegexKitLite下载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中。2.工程中添加libicucore.dylib frameworks。3.现在所有的nsstring对象就可以调用RegexKitLite中的方法了。 1 NSString *email = @"kkk@aaa.com"; 2 3 [email isMatchedByRegex:@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b"]; 4 5 //返回YES,证明是
阅读全文
摘要:每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的.昨天看了下苹果官方的相关文档以及几篇相关内容的网页(一 二 三),其实这个内容以前也看过,似乎也搞清楚了,可还是忘了.好急性不如烂笔头,这次一定要好好记下来.大前提是UIViewController有一个UIView.同时,需要厘清两个概念,创建一个类和实例化一个类.在XCode中创建一个类和实例化一个类很容易区分,但是在IB(Interface Builder
阅读全文
摘要:ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDisplay- (void)drawRectlayoutSubviews在以下情况下会被调用:1、init初始化不会触发layoutSubviews但是是用initWithFrame进行初始化时,当rect的值不为CGRectZero时,也会触发2、addSubview
阅读全文
摘要:本节关于RTLable基本介绍,原文来自https://github.com/honcheng/RTLabelRTLabel基于富文本的格式,适用于iOS,类似HTML的标记。RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西。特点粗体和斜体颜色和大小下划线缩进字距行距超链接用法1)将RTLabel.h 和 RTLabel.m 拖拽道你的工程中,导入Core Text.framework。添加头文件1 #import "RTLabel.h"2)创建一个RTLabel1 NSStr
阅读全文
摘要:MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单、方便,并且可以对显示的内容进行自定义,功能很强大,很多项目中都有使用到。到GitHub上可以下载到项目源码https://github.com/jdg/MBProgressHUD,下载下来后直接把MBProgressHUD.h和MBProgressHUD.m拖入工程中就行,别忘了选择拷贝到工程。完了在需要使用的地方导入头文件就可以开始使用了。首先看下工程截图: 接下来是整个Demo的完整界面,这里我只选择出了几个常用的对话框,其他样式的在源码提供的Demo...
阅读全文
摘要:首先新建一个名为Localizable.strings的资源文件完成后选中该文件,在属性选择器中可以看到多了个按钮:点击这个按钮后,出现国际化语言选择框,但只有一个English的选项:没关系,继续,点击Localize按钮,这时只支持英语。Xcode4.5之前的版本会在属性选择器里面有个“+”号用来添加其他语言支持,现在没了,其实是在别的地方。点击工程根目录,并选择PROJECT,然后选择INFO选项卡,底部我们就看到了Localizations:点击“+”号选择一门语言添加上,我这里选的是Chinese,ok,完成了,再看Localizable.strings文件,就多了两个子文件,分别支
阅读全文
摘要:UIViewAutoresizingNone = 0,UIViewAutoresizingFlexibleLeftMargin = 1 << 0,UIViewAutoresizingFlexibleWidth = 1 << 1,UIViewAutoresizingFlexibleRightMargin = 1 << 2,UIViewAutoresizingFlexibleTopMargin = 1 << 3,UIViewAutoresizingFlexibleHeight = 1 << 4,UIViewAutoresizingFlex
阅读全文
摘要:上一章提到的EGOTableViewPullRefresh只实现了下拉功能,而没有上拉的功能。要实现上拉刷新可以自己在EGORefreshTableHeaderView源码基础上更改label、箭头等位置来实现。这里介绍一个同时集成下拉刷新和上拉加载更多的类库EGOTableViewPullRefresh(名字相同,但是该框架实现了上拉,也是在以前基础上更改的)。英文原文和类库下载地址:https://github.com/emreberge/EGOTableViewPullRefresh附带 Demo效果Whats different on this fork:容易集成,使用interf..
阅读全文
摘要:我们用到一个EGOTableViewPullRefresh的开源项目来实现这个功能,先到这里下载源码,下载完成后里面有个Demo是可以直接运行的Xcode工程,然后就是这个开源项目的源码,学习如何使用可以参照Demo。在使用下拉刷新类库EGORefreshTableHeaderView的时候,将资源文件添加到工程中,也不要忘记添加QuartzCore.framework框架。1.打开MainViewController.xib文件然后拖入一个UITableViewController并连接DataSource和Delegate,然后在MainViewController.h文件中声明U...
阅读全文
摘要:不多说,直接上方案。一、背景图片1、5.0以上版本UIImage *image = [UIImage imageNamed:@"system_tabbar_bg.png"];[self.tabBar setBackgroundImage:image];2、5.0以下版本UIImage *image = [UIImage imageNamed:@"system_tabbar_bg.png"];NSArray *array = [self.view subviews];UITabBar *tabBar = [array objectAtIndex:1];ta
阅读全文
摘要:很多情况下,我们需要自定义系统的相机拍照界面, 以下示例代码可以实现定制相机界面, 具体UI自己可以加入 1 - (void) setup: (UIView *) aView 2 { 3 //获取相机界面的view 4 self.plcameraview = [aView subviewWithClass:NSClassFromString(@"PLCameraView")]; 5 if (!plcameraview) return; 6 7 //相机原有控件全部透明 8 NSArray *svarray = [plcameraview subview...
阅读全文
摘要:将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下:1.在视图控制器的头文件中实现UINavigationControllerDelegate,例如:@interface PicturePreviewViewController : UIViewController2.在实现类中加入这个代理的方法及具体操作如下:- (void) navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewCont
阅读全文
摘要:1 #pragma 单例模式定义 2 static DataSingleton * instance = nil; 3 +(DataSingleton *) Instance 4 { 5 @synchronized(self) 6 { 7 if(nil == instance) 8 { 9 [self new];10 }11 }12 return instance;13 }14 +(id)allocWithZone:(NSZone *)zone15 {16 @synchronize...
阅读全文
摘要:在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。SAX解析XML,是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才采取操作,当在读取
阅读全文
摘要:官方网站:http://allseeing-i.com/ASIHTTPRequest/。可以从上面下载到最新源码,以及获取到相关的资料。使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。ASIHTTPRequest功能很强大,主要特色如下:l 通过简单的接口,即可完成向服务端提交数据和从服务
阅读全文
摘要:在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。例如://实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设定时间格式,这里可以设置成自己需要的格式[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//用[NSDate date]可以获取系统当前时间NSString *currentDateStr = [dateForma
阅读全文
摘要:目录(?)[-]简介iOS有三种多线程编程的技术分别是三种方式的有缺点介绍NSThread的使用NSThread 有两种直接创建方式参数的意义PS不显式创建线程的方法下载图片的例子新建singeView app线程间通讯线程同步线程的顺序执行其他同步1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread2、Cocoa NSOperation(iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD全称:Grand Central Dispatch(iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三
阅读全文
摘要:解决Xcode 4.3.2的”Could not insert new outlet connection”问题用了Xcode 4.2和Xcode 4.3.2一段时间后,突然冒出了”Could not insert new outlet connection”问题,如下尝试连接插座变量了好几次,都是这样,参考stack overflow的这篇帖子,http://stackoverflow.com/questions/6703054/xcode-4-creating-a-uiview-xib-not-properly-connecting,采用以下方法解决了。(1)关闭Xcode(2)到~/Li
阅读全文

浙公网安备 33010602011771号