<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>“我”的开发笔记 &#187; 05 &#8211; 视图（View）</title>
	<atom:link href="http://c.gzl.name/archives/category/iphone/view/feed" rel="self" type="application/rss+xml" />
	<link>http://c.gzl.name</link>
	<description>IPhone, Cocoa, PHP, Javascript, JQuery, Actionscript, etc...</description>
	<lastBuildDate>Thu, 29 Dec 2011 07:20:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>makeKeyAndVisible</title>
		<link>http://c.gzl.name/archives/466</link>
		<comments>http://c.gzl.name/archives/466#comments</comments>
		<pubDate>Sun, 06 Sep 2009 23:14:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[09 - 视图/绘图]]></category>
		<category><![CDATA[Cocoa开发]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[makeKeyAndVisible]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=466</guid>
		<description><![CDATA[我不知道为什么，不过有人搜索makeKeyAndVisible方法。其实我这种懒人一般不会刨根问底，有些方法照打就好，那些白给的方法有些就别动就好了。 我们看看这个每个程序都有的方法吧： &#91;window makeKeyAndVisible&#93;; 由于iPhone是单窗口程序，所以也就只有这么一个Window对象，而且是UIWindow，不是NSWindow。而根据文档上所说： “这个是便捷方法，去使被使用对象的主窗口显示到屏幕的最前端。你也可以使用hiddenUIView方法隐藏这个窗口” 所以基本上来说，对于编程者的区别仅仅在于在其前添加代码，或在其后添加代码。]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/466/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在iPhone程序上读取PDF文件 (rev0.1 ^-^;)</title>
		<link>http://c.gzl.name/archives/460</link>
		<comments>http://c.gzl.name/archives/460#comments</comments>
		<pubDate>Sun, 06 Sep 2009 05:57:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[09 - 视图/绘图]]></category>
		<category><![CDATA[Cocoa开发]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[Q2D]]></category>
		<category><![CDATA[Quartz 2D]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=460</guid>
		<description><![CDATA[老话，最近闹心的事情多，开心的事情少，但是正事还是要干的。学习得需要，努力的需要，钱的需要&#8230; &#8230; 天上给我下点儿钞票吧！ 言归正传，怎么在iPhone程序中读取PDF的内容呢？答案是，苹果为我们准备了一个很神奇的framework Q2D（Quartz 2D）。Q2D提供了全套的PDF读取API，接下来我们来看看如果简单的使用Q2D来读取PDF文件： 我建立了一个工程叫iPhonePDF, 添加了一个UIScrollView（不知道怎么添加UIScrollView? 添加一个UIView然后把interface上的UIView改成UIScrollView就可以啦&#8230;）名为PDFView 看看PDFView里面有什么吧 @interface PDFView : UIScrollView &#123; &#160; NSString *filePath; CGPDFDocumentRef pdfDocument; CGPDFPageRef page; int pageNumber; &#125; &#160; @property &#40;copy, nonatomic&#41; NSString *filePath; @property int pageNumber; &#160; -&#40;CGPDFDocumentRef&#41;MyGetPDFDocumentRef; -&#40;void&#41;reloadView; -&#40;IBAction&#41;goUpPage:&#40;id&#41;sender; -&#40;IBAction&#41;goDownPage:&#40;id&#41;sender; @end filePath是储存pdf文件的位置的，得到文件位置就是老话题了：[NSBundle mainBundle]&#8230; 后面的会写吧&#8230; 不记得了在我博客里面搜索吧 CGPDFDocumentRef是PDF文档索引文件，Q2D是Core Foundation的API，所以没看到那个星星～ CGPDFPageRef是PDF页面索引文件 pageNumber是页码 下面的几个函数其实一看就明了了，翻页的，和刷新页面的。第一个是自定义的getter 然后我们看看m文件里面有用的方法： @implementation PDFView @synthesize filePath,pageNumber; &#160; [...]]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/460/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>不要对viewController作这样的事情</title>
		<link>http://c.gzl.name/archives/326</link>
		<comments>http://c.gzl.name/archives/326#comments</comments>
		<pubDate>Thu, 13 Aug 2009 02:41:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[06 - 视图控制器（ViewControllers）]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=326</guid>
		<description><![CDATA[错误： UIViewController *aViewController = &#91;&#91;UIViewController alloc&#93; init&#93;; &#160; &#91;window addSubview:aViewController.view&#93;; &#160; &#91;aViewController release&#93;; 这样的话，系统会崩溃的&#8230; window或着其他父视图是不会retain整个viewController的，这个时候不能立刻release 正确： &#91;aViewController.view removeFromSuperview&#93;; &#160; &#91;aViewController release&#93;; 也就是说，在release之前需要从superview中移除这个viewController的view。如果一直都需要这个view，那就在dealloc里面作这些事情就可以了]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/326/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interface Builder参与的内存管理问题</title>
		<link>http://c.gzl.name/archives/113</link>
		<comments>http://c.gzl.name/archives/113#comments</comments>
		<pubDate>Tue, 16 Jun 2009 20:29:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[01 - 基础信息]]></category>
		<category><![CDATA[03 - 内存管理]]></category>
		<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[Cocoa开发]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[IB]]></category>
		<category><![CDATA[IBOutlet]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[内存管理]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=113</guid>
		<description><![CDATA[I 要点： 如果一个变量在类中被定义为了 IBOutlet 那么你无需对其进行实例化，xib载入器会对其初始化。 如果一个变量在类中被定义为了 IBOutlet 那么你必须负责将其释放。xib载入器不会帮忙的&#8230; &#8230; *切不要初始化两回，内存会溢出，而且对象锁定也会出错。]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/113/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>delegate参数解析</title>
		<link>http://c.gzl.name/archives/50</link>
		<comments>http://c.gzl.name/archives/50#comments</comments>
		<pubDate>Sun, 14 Jun 2009 19:59:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[Cocoa开发]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[实例]]></category>
		<category><![CDATA[ActionSheet]]></category>
		<category><![CDATA[delegate]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=50</guid>
		<description><![CDATA[D 在Cocoa里面很多对象的初始化都有一个delegate参数，例如初始化一个ActionSheet &#91;&#91;UIActionSheet alloc&#93; initWithTitle:@&#34;标题&#34; delegate:self cancelButtonTitle:@&#34;取消按钮&#34; destructiveButtonTitle:@&#34;结束按钮&#34; otherButtonTitles:nil&#93;; 这里就有一个delegate参数，而我给的例子里面的值是self。 那这个self是什么含义呢？ 还有什么其他可行参数么？ 答案如下： 1，正如delegate的中文含义是“事件代理”，这里就是要为ActionSheet找一个代理。那么如果写self，那就意味着本地对象和本地类就是这个ActionSheet的“事件代理”。那么我们就应该在这个本地类里面写delegate的方法来回应。例如： - &#40;void&#41;actionSheet:&#40;UIActionSheet *&#41;actionSheet didDismissWithButtonIndex:&#40;NSInteger&#41;buttonIndex &#123; &#125; 2，本地类如果不是对象类的时候，是没有该对象（ActionSheet）的事件代理解析能力的，这时该怎么办呢？那么就应该在本地类加入对象类的“事件代理”协议（接口），如下： @interface aViewController : UIViewController &#60;UIActionSheetDelegate&#62; &#123; &#125; 这里的&#60;UIActionSheetDelegate&#62;就告诉本地类去接收并可以响应ActionSheet的“事件” 3，如果有多个ActionSheet在一个本地类中，这个事件代理该如果响应呢？ 方法如下： - &#40;void&#41;actionSheet:&#40;UIActionSheet *&#41;actionSheet didDismissWithButtonIndex:&#40;NSInteger&#41;buttonIndex &#123; if&#40;actionSheet == 指定的actionSheet对象&#41;&#123;&#125; &#125; 事件代理方法的第一个参数就是发出事件代理的对象，所以可以进行比对后，作if参数调节。 4，delegate后可使用nil值。这个就表示该对象不被代理。 5，delegate后可以使用本地类可以访问的类对象，这样那个类对象就会收到ActionSheet的代理通知。例如：ClassB是ClassA的子类，ClassA中有一个需要代理的ActionSheet, ClassA可以通过这个delegate参数来指定ClassB作为这个ActionSheet的事件代理。 此贴暂时就到这里，以后会进行完善，并添加“屏播”解释。]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>view的事件代理解释</title>
		<link>http://c.gzl.name/archives/14</link>
		<comments>http://c.gzl.name/archives/14#comments</comments>
		<pubDate>Thu, 11 Jun 2009 21:02:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[05 - 视图（View）]]></category>
		<category><![CDATA[iPhone开发]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[viewControler]]></category>

		<guid isPermaLink="false">http://c.gzl.name/?p=14</guid>
		<description><![CDATA[D 对于开发基于视图（view）的Mac/iPhone程序的时候，这些事件代理（Delegate）是再重要不过了。我曾经是用无数NSLog来探测的各个事件代理的顺序的，哈哈 loadView: （加载视图） - 建立层次结构 - 在不使用 Interface Builder 的时候发生 viewDidLoad: （视图已加载） - 加载附加的资源和数据 viewWillAppear: （视图快要被显示） - 准备在屏幕上加载 - 视图不会在每次显示重新加载 viewDidAppear: （视图已被显示） - 动画和其他视觉元素被加载]]></description>
		<wfw:commentRss>http://c.gzl.name/archives/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

