Fork me on GitHub
上一页 1 ··· 107 108 109 110 111 112 113 114 115 ··· 125 下一页

2012年2月8日

摘要: Core Text提供了一系列方便的函数,可以很容易的把文本绘制在屏幕上,对于一个Frame来说,一般并不需要担心文本的排列问题,这些Core Text的函数都可以直接搞定,只要给他一个大小合适的CGRect就可以。但,在某些情况下,我们还希望知道这段文本在绘制之后,对应绘制的字体字号设置,在屏幕上实际占用了多大面积。举例来说,有文本段落a,屏幕大小rect,通常做法是以rect创建path,然后创建CTFramesetter,再然后创建CTFrame,最后用CTFrameDraw画出来,这时候,往往文本段落占用的实际面积会小于rect,这时候就有必要获得这段文本所占用的真正面积。最理想的情况 阅读全文
posted @ 2012-02-08 19:34 pengyingh 阅读(628) 评论(0) 推荐(0)
摘要: 原贴地址:http://hi.baidu.com/jwq359699768/blog/item/5df305c893413d0a7e3e6f7b.htmlcore text 这个包默认是没有的,要自己手动添加进来。在IOS中利用core text对文本进行排版的几个关键点如下: 字间距:kCTKernAttributeName 行间距:kCTParagraphStyleSpecifierLineSpacingAdjustment 或 kCTParagraphStyleSpecifierLineSpacing(不推荐使用) 段间距:kCTParagraphStyleSpecifierParagr 阅读全文
posted @ 2012-02-08 19:33 pengyingh 阅读(9601) 评论(0) 推荐(1)
摘要: 转自:http://lists.apple.com/archives/quartz-dev/2008/Mar/msg00079.html- (CGSize) measureFrame: (CTFrameRef) frame forContext: (CGContext *) cgContext{//frame为排版后的文本CGPathRefframePath =CTFrameGetPath(frame);CGRectframeRect =CGPathGetBoundingBox(framePath);CFArrayReflines =CTFrameGetLines(frame);CFIndex 阅读全文
posted @ 2012-02-08 19:30 pengyingh 阅读(2809) 评论(0) 推荐(0)
摘要: 在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。概述 在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebViewUIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。1、UIPasteboard:我们可以向其中写入数据,也可以读取数据2、UIMenuController:显示一个快捷菜单,用来复制、剪贴、粘贴选择的项。3、UIResponder中的 canPerformAc 阅读全文
posted @ 2012-02-08 19:23 pengyingh 阅读(295) 评论(0) 推荐(0)
摘要: 引入:iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的。iOS提供了异常发生的处理API,我们在程序启动的时候可以添加这样的Handler,这样的程序发生异常的时候就可以对这一部分的信息进行必要的处理,适时的反馈给开发者。不足的地方是,并不是所有的程序崩溃都是由于发生可以捕捉的异常的,有些时候是因为内存等一些其他的错误导致程序的崩溃,这样的信息是不在这里体现的。这里做了一个简单的类,进行很基本的操作,可以添加和获取Handler,捕获到异常后将信息写入到app的Documens下的Excep 阅读全文
posted @ 2012-02-08 19:19 pengyingh 阅读(694) 评论(0) 推荐(0)
摘要: Block可以帮助我们组织独立的代码段,并提高复用性和可读性。iOS4在UIKit中引入了该特征。超过100个的Apple API都使用了Block,所以这是一个我们必须开始熟悉的知识。Block是什么样的?你可以使用^操作符来声明一个Block变量,它表示一个Block的开始。intnum1=7; int(^aBlock)(int)=^)intnum2){ returnnum1+nunm2; };在如上代码中我们将Block声明为一个变量,所以可以将它当做一个函数中使用:NSLog(@"%d",aBlock(49));//adds49to7whichgivesus56.我 阅读全文
posted @ 2012-02-08 19:01 pengyingh 阅读(22570) 评论(0) 推荐(6)
摘要: 引入:在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在IOS设备中加一个缓存的机制。下面将介绍如何在IOS设备中进行缓存。目的:使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。解读:内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。1、NSURLRequestUseProtocolCachePolicy NSURLRequest默认的 阅读全文
posted @ 2012-02-08 18:57 pengyingh 阅读(6376) 评论(0) 推荐(2)
摘要: 在iPad/iPhone与服务端进行数据交互,一般都是通过webservice实现的,而从服务端返回的数据一般是xml,在这里就使用touchXML来解析xml,为了简单,这里就直接解析xml文件.准备:(在xCode项目中加入对touchXML的支持)操作步骤如下:1、下载最新touchXML类库(下载);2、将步骤1中的类库加入到xCode项目中,操作流程如下图所示:2-12-22-3提示:在实际开发中,为了保证路径一致,而非引用,可以把Copy itmes into destination group’s folder(if needed)”选项打上勾.3、因为TouchXML使用了li 阅读全文
posted @ 2012-02-08 18:54 pengyingh 阅读(741) 评论(0) 推荐(0)
摘要: btn.frame=CGRectMake(x, y, width, height);[btnsetTitle:@"search"forState:UIControlStateNormal];//设置按钮上的自体的大小//[btn setFont: [UIFont systemFontSize: 14.0]];//这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法//应该使用btn.titleLabel.font= [UIFontsystemFontOfSize:14.0];[btn seBackgroundColor: [UIColorblueColor] 阅读全文
posted @ 2012-02-08 18:48 pengyingh 阅读(31577) 评论(1) 推荐(0)
摘要: 原贴地址:http://wiki.magiche.net/pages/viewpage.action?pageId=884775目录目录关于String:UIView与UIViewController:内存相关:runtime与cocoa架构:IO与网络相关:关于String:1,把一个整数,转换成一个NSString[NSString stringWithFormat:@"%d",3];2,比较两个NSString是否相等[@"test"isEqualToString:@"test"];3,@"abcdefg", 阅读全文
posted @ 2012-02-08 18:33 pengyingh 阅读(1065) 评论(0) 推荐(0)
上一页 1 ··· 107 108 109 110 111 112 113 114 115 ··· 125 下一页

导航