07 2013 档案

摘要:最近经常用到搜索类的布局,大体是这样的上面是一个navigationController,接下来一个searchBar,下面是tableViewsearchBar这个控件就用来搜索tableView上的数据[[UISearchDisplayControlleralloc]initWithSearchBar:searchBarcontentsController:self];UISearchDisplayController这个控件很强大,它初始化是基于searchBar的,里面有些效果很不错,apple都封装好了,并且可以很好的支持实时搜索,即我们只需要将搜索出来的数据重新赋给array(这个 阅读全文
posted @ 2013-07-31 10:27 天牛 阅读(249) 评论(0) 推荐(0)
摘要:转载自:http://blog.sina.com.cn/s/blog_621403ef0100tuna.html将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下:1.在视图控制器的头文件中实现UINavigationControllerDelegate,例如:@interface PicturePreviewViewController : UIViewController2.在实现类中加入这个代理的方法及具体操作如下:- (void) navigationController:(UINavigationController *)navigationContro 阅读全文
posted @ 2013-07-30 19:59 天牛 阅读(396) 评论(0) 推荐(0)
摘要:项目里有一个需求,类似新浪或者腾讯微博的顶部title栏的类别选择器的消失(在选择器展开的时候,触摸屏幕任何地方使其消失)。最开始的想法是当这个选择器(selectorView)展开的时候,在当前屏幕上加入一个铺满整个屏幕的透明button来拦截所有的触摸事件。可是这个方案实现起来非常麻烦,也不优雅,而且发现button拦截不到scrollView的滑动事件,所以决定放弃。后来经过经理提醒,在UIApplication下有一个sendEvent函数,可以从这里入手。于是找了一下iOS事件机制的资料,sendEvent函数的介绍如下:sendEvent:Dispatches an event t 阅读全文
posted @ 2013-07-27 17:31 天牛 阅读(505) 评论(0) 推荐(0)
摘要://获得row NSInteger row = [[self.treeTableViewindexPathForCell:(UITableViewCell *)[[[notification.userInfoobjectForKey:senderKey] superview] superview]] row]; //获得section NSInteger section = [[self.treeTableViewindexPathForCell:(UITableViewCell *)[[[notification.userInfoobjectForKey:sender... 阅读全文
posted @ 2013-07-26 19:12 天牛 阅读(185) 评论(0) 推荐(0)
摘要:UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑。 UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时,会将滚出屏幕的单元格放入重用的queue中,当某个未 阅读全文
posted @ 2013-07-24 21:45 天牛 阅读(300) 评论(0) 推荐(0)
摘要:1.NSString转化为UNICODE String:(NSString*)fname = @“Test”;char fnameStr[10];memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节2.NSString 转化为 char *NSString * str= @“Test”;const char * a =[str UTF8String];3.char * 阅读全文
posted @ 2013-07-21 14:57 天牛 阅读(454) 评论(0) 推荐(0)
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://2009315319.blog.51cto.com/701759/1158515很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说。但最大的缺点是要求用户记住这些命令。因此Git图形界面还是很受一 些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能。但是要想在Xcode中使用Git管理工程代码还想需要进行一些配 置,然后才能使用。如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信 阅读全文
posted @ 2013-07-21 00:37 天牛 阅读(1147) 评论(0) 推荐(0)
摘要:接上篇,iOS学习之iOS沙盒(sandbox)机制和文件操作(二),我们看看NSFileManager如何使用。包括创建文件,目录,删除,遍历目录等。1、在Documents里创建目录创建一个叫test的目录,先找到Documents的目录,[cpp]view plaincopyNSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSLog(@"doc 阅读全文
posted @ 2013-07-17 17:04 天牛 阅读(227) 评论(0) 推荐(0)
摘要:1。如何读取UTF-8编码的文本文件?2。如何读取GB2312(中文)的文本文件?3。如何读取其它编码文件?首先解决第一个问题,1。如何读取UTF-8编码的文本文件? NSString *filePath = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:fileName]; [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil] //当然也可以采用如下方法 //NSD... 阅读全文
posted @ 2013-07-17 17:04 天牛 阅读(600) 评论(0) 推荐(0)
摘要:bundle是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,cocoa提供了类NSBundle.我们现在用bundle获取程序里的一张图片,并显示到View上。新建一个Single View Application,并在加入viewDidLoad方法里加入如下代码:[cpp]view plaincopy//通过使用下面的方法得到程序的mainbundleNSBundle*mainBundle=[NSBundlemainBundle];NSString*imagePath=[mainBu 阅读全文
posted @ 2013-07-17 17:03 天牛 阅读(204) 评论(0) 推荐(0)
摘要:接上篇iOS学习之iOS沙盒(sandbox)机制和文件操作(一)我们看看如何获取应用程序沙盒目录。包括真机的沙盒的目录。1、获取程序的Home目录[cpp]view plaincopyNSString*homeDirectory=NSHomeDirectory();NSLog(@"path:%@",homeDirectory);打印结果:[cpp]view plaincopy2012-06-1714:00:06.098IosSandbox[3536:f803]/Users/rongfzh/Library/ApplicationSupport/iPhoneSimulator 阅读全文
posted @ 2013-07-17 17:02 天牛 阅读(196) 评论(0) 推荐(0)
摘要:1、iOS沙盒机制iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。1.1、每个应用程序都有自己的存储空间1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。 通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是:sandbox对应用程序执行各种操作的权限限制。2、打开模拟器沙盒目录下面看看模拟器的沙盒文件夹在mac电脑上的. 阅读全文
posted @ 2013-07-17 17:01 天牛 阅读(175) 评论(0) 推荐(0)
摘要:/****************Immutable Data****************/@interface NSData : NSObject - (NSUInteger)length;- (constvoid *)bytes NS_RETURNS_INNER_POINTER;@end@interface NSData (NSExtendedData)- (NSString *)description;- (void)getBytes:(void *)buffer length:(NSUInteger)length;- (void)getBytes:(void *)buffer ra 阅读全文
posted @ 2013-07-17 16:59 天牛 阅读(2103) 评论(0) 推荐(0)
摘要:原文地址:http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-2欢迎回到当程序崩溃的时候怎么办 教程!在这个教程的第一部分,我们介绍了SIGABRT和EXC_BAD_ACCESS错误,并且举例说明了一些使用xcode调试器(Xcode debugger)和异常断点(Exception Breakpoints)解决问题的策略。但是我们的app仍然有一些问题!就像我们看到的,他工作的并不是很好,并且这里仍然有许多潜在的可能崩溃的问题。幸运的是,在这个教程的第二部分,也是最后一部分,我们可以学习更多的技术来处理这些问题。所以 阅读全文
posted @ 2013-07-16 12:45 天牛 阅读(682) 评论(0) 推荐(0)
摘要:1、初始化+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;注:不用 阅读全文
posted @ 2013-07-12 13:49 天牛 阅读(1694) 评论(0) 推荐(1)
摘要:-、建立UITableViewDataTable=[[UITableViewalloc]initWithFrame:CGRectMake(0,0,320,420)];[DataTablesetDelegate:self];[DataTablesetDataSource:self];[self.viewaddSubview:DataTable];[DataTablerelease];二、UITableView各Method说明//添加索引-(NSArray*)sectionIndexTitlesForTableView:(UITableView*)tableView{returnTitleDat 阅读全文
posted @ 2013-07-11 23:44 天牛 阅读(1789) 评论(0) 推荐(1)
摘要:我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。这样,我们就会用到[tableViewbeginUpdates];if(newCount<=0) {[tableViewdeleteSections:[NSIndexSetindexSetWithIndex:indexPath.section]withRowAnimation:UITableViewRowAnimationLeft];}[tableViewdeleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAni 阅读全文
posted @ 2013-07-11 18:55 天牛 阅读(697) 评论(0) 推荐(0)
摘要:由于项目需要,做一个UITableView来实现删除功能。效果如图:功能思路其实不难:交代一下,我自己要实现的效果:1.TableView是分组的。2.点击删除按钮后,某行被删除。写完,大概功能,运行:出现:*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:1070libc++abi.dylib: handler threw exception原因:1.在调用deleteRowsAtIndexPaths:方 阅读全文
posted @ 2013-07-11 18:53 天牛 阅读(410) 评论(0) 推荐(0)
摘要:XCODE编译运行项目后,发现工程编译后无法运行,出现:"The selected destination does not support the architecture for which the selected software is built. Switch to a destination that supports that architecture in order to run the selected software." 错误。首先,出现该问题一般是在${PROJECT_NAME}.xcodeproj目录的相关文件的问题,像xcschemes/xc 阅读全文
posted @ 2013-07-11 14:02 天牛 阅读(435) 评论(0) 推荐(0)
摘要:一、Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是:NSArray用于对象有序集合(数组)NSSet用于对象无序集合(集合)NSDictionary用于键值映射(字典)以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):NSMutableArrayNSMutableSetNSMutableDictionary注:这些集合类只能收集cocoa对象(NSOjbect对象),如果想保存一些原始的C数据(例如,int, float, double, BOOL等),则需要将 阅读全文
posted @ 2013-07-11 11:41 天牛 阅读(277) 评论(0) 推荐(0)
摘要:一.使用系统的Assets Library Framework这个是用来访问Photos程序中的图片和视频的库。其中几个类解释如下 ALAsset ->包含一个图片或视频的各种信息 ALAssetRepresentation ->得到ALAsset的各种信息 ALAssetsFilter ->用来从一个ALAssetsGroup中检索ALAssets ALAssetsGroup ->一组ALAsset,一个asset可以属于多个这样的组,可以添加一个asset到某个组中 ALAssetsLibrary ->整个图片库中的内容,可以对图片库的获取与编辑等 ... 阅读全文
posted @ 2013-07-08 14:09 天牛 阅读(485) 评论(0) 推荐(0)
摘要:介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。一个任务可以是一个函数(function)或者是一个block。 GCD的底层依然是用线程实现,不过这样可以让程序员不用关注实现的细节。GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行d 阅读全文
posted @ 2013-07-08 14:05 天牛 阅读(216) 评论(0) 推荐(0)
摘要:在控件事件中,简单解释下下面几个事件。说明:由于是在“iOS模拟器”中测试的,所以不能用手指,只能用鼠标。1)UIControlEventTouchDown指鼠标左键按下(注:只是“按下”)的动作2)UIControlEventTouchDownRepeat指鼠标左键连续多次重复按下(注:只是“按下”)的动作,比如,鼠标连续双击、三击、……、多次连击。说明:多次重复按下时,事件序列是这样的:UIControlEventTouchDown->(UIControlEventTouchUpInside)->UIControlEventTouchDown->UIControlEven 阅读全文
posted @ 2013-07-04 17:12 天牛 阅读(537) 评论(0) 推荐(0)
摘要:1、常见的NSFileManager文件方法-(NSData *)contentsAtPath:path //从一个文件读取数据-(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr //向一个文件写入数据-(BOOL)removeItemAtPath:path error:err //删除一个文件-(BOOL)moveItemAtPath:from toPath:to error:err //重命名或者移动一个文件(to不能是已存在的)-(BOOL)copyItemAtPath:from toPath... 阅读全文
posted @ 2013-07-04 11:34 天牛 阅读(139) 评论(0) 推荐(0)
摘要:一、在Documents、tmp和Library中存储文件Documents:用于存储应用程序中经常需要读取或写入的常规文件。tmp:用于存储应用程序运行时生成的文件。(随着应用程序的关闭失去了利用价值)Library:一般存放应用程序的配置文件,比如说plist类型的文件。二、读取和写入文件1、新建Empty Application应用程序,添加HomeViewController文件。HomeViewController.h代码:View Row Code1#import 23@interface HomeViewController : UIViewController 4{ 56} . 阅读全文
posted @ 2013-07-03 10:36 天牛 阅读(224) 评论(0) 推荐(0)