听课一周了,要努力加油啊....

在前面的例子中,你看到了怎么样添加一个Label和一个Button视图到主视图窗口.不管怎样,你需要去控制好Button视图,以至于当用户按下按钮时,它要有所显示.在Charpter3中,我们接触过outlets和actions,已经我们怎么样用代码将他们和Interface Builder链接,接下来我们应该尝试视图直接用代码来创建,因此我们不需要用到Interface Builder去连接actions和outlets.必须的,没有理由.

试试吧:例子,Linking Actions to Views

1.继续用到我们上节的windowBasedApp项目,在MySecondviewcontroller.h文件中声明这个buttonClicked:action

 

#import <UIKit/UIKit.h>
@interface MySecondViewController : UIViewController {
//---create two outlets - label and button---
UILabel *label;
UIButton *button;
}
//---expose the outlets as properties---
@property (nonatomic, retain) UILabel *label;
@property (nonatomic, retain) UIButton *button;
//---declaring the IBAction---
-(IBAction) buttonClicked: (id) sender;
@end

 

#import <UIKit/UIKit.h>

@interface MySecondViewController : UIViewController {

//---create two outlets - label and button---

UILabel *label;

UIButton *button;

}

//---expose the outlets as properties---

@property (nonatomic, retain) UILabel *label;

@property (nonatomic, retain) UIButton *button;

//---declaring the IBAction---

-(IBAction) buttonClicked: (id) sender;

@end

2.在MySecondViewController.m文件中,你定义按钮触发时的响应buttonClicked:action:

 

-(IBAction) buttonClicked: (id) sender{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@“Action invoked!”

message:@“Button clicked!”

delegate:self

cancelButtonTitle:@“OK”

otherButtonTitles:nil];

[alert show];

[alert release];

}

3.将buttonClicked:action和链接按钮视图的相关事件链接,会用到viewDidLoad()方法:

 

- (void)viewDidLoad {

//---create a CGRect for the positioning---

CGRect frame = CGRectMake(10, 10, 300, 50);

//---create a Label view---

label = [[UILabel alloc] initWithFrame:frame];

label.textAlignment = UITextAlignmentCenter;

label.font = [UIFont fontWithName:@“Verdana” size:20];

label.text = @“This is a label”;

//---create a Button view---

frame = CGRectMake(10, 250, 300, 50);

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

button.frame = frame;

[button setTitle:@“OK” forState:UIControlStateNormal];

button.backgroundColor = [UIColor clearColor];

//---add the action handler and set current class as target---

[button addTarget:self

action:@selector(buttonClicked:)

forControlEvents:UIControlEventTouchUpInside];

//---add the views to the current View---

[self.view addSubview:label];

[self.view addSubview:button];

[super viewDidLoad];

}

4.试试吧,C+R..你可以看到这个结果了:4-24.jpg

 

 

这里有一些常用的控制事件:

➤➤ UIControlEventTouchDown

➤➤ UIControlEventTouchDownRepeat

➤➤ UIControlEventTouchDragInside

➤➤ UIControlEventTouchDragOutside

➤➤ UIControlEventTouchDragEnter

➤➤ UIControlEventTouchDragExit

➤➤ UIControlEventTouchUpInside

➤➤ UIControlEventTouchUpOutside

➤➤ UIControlEventTouchCancel

➤➤ UIControlEventValueChanged

➤➤ UIControlEventEditingDidBegin

➤➤ UIControlEventEditingChanged

➤➤ UIControlEventEditingDidEnd

➤➤ UIControlEventEditingDidEndOnExit

➤➤ UIControlEventAllTouchEvents

➤➤ UIControlEventAllEditingEvents

➤➤ UIControlEventApplicationReserved

➤➤ UIControlEventSystemReserved

➤➤ UIControlEventAllEvents

要了解这些事件的细节可以浏览:http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIControl_Cl

ass/Reference/Reference.html#//apple_ref/doc/constant_group/Control_Events.

 

由于老九最近几天比较忙,没有太多空余时间,争取课程在本周末开始.这停下的几期,周末一并补上,谢谢大家的关注.

摄影路上的圣经77条!

1 任何相机都可以拍摄任何题材!
2 任何胶片都可以拍摄任何题材!
3 任何镜头都可以拍摄任何题材!
4 买能买得起的最好的器材!
5 摄影是用光的艺术,所以,先要用光可以花在器材上的钱!
6 镜头后面那个头固然很重要,但“工欲善其事,必先利其器”更重要!
7 金属器材永远比塑料的好,分量重的器材永远比轻的好,贵的永远比便宜的好,除非你被人宰了!
8 买器材前一定要冷静,买器材时必须要冲动,这是器材物语的理智与情感!
9 假如一件器材买回不久就后悔了,说明它不属于你,赶紧卖掉止损!
10 假如觉得一件器材该换了,无需考虑,立刻换了,因为到最后你还是会换,结果无非是徒增犹豫彷徨的时间罢了!
11 不用担心贬值,器材不是股票,买器材是使用,不是投资!
12 不用爱惜器材,器材没那么娇贵,它存在的意义是被使用,而非供奉!
13 胶片也属于器材,选择胶片的难度不亚于选择器材!
14 没有一步到位的器材,没有一步到位的系统,除非你是个没有激情的人!
15 测光表对于玩家来说,实用意义远远小于亮骚意义,所以,它很重要!
16 不必介意器材是否防水,我们不是新闻记者,不会在大雨滂沱中抓拍抢拍,防唾沫就够了,这样在你口若悬河地炫耀器材时可以更加肆无忌惮!
17 不要买副厂镜头。Carl Zeiss除外!
18 UV镜只有两个牌子,B+W和TIFFEN;UV镜只有一种镀膜,多膜!
19 UV在数码时代,其实是多余的!
20 气吹的牌子叫A+F,镜头水的牌子叫Carl Zeiss,镜头笔的牌子叫MATIN,灰卡的标准叫kodak!
21 附件是器材中相当重要的环节,摄影中最大的附件是车,最常换的附件是模特!
22 玩反转和大画幅有一个重要附件就是放大镜,Schneider是王道!
23 相机是用来拍良辰美景的,不是用来拍牙膏牙刷的!
24 摄影的路上,你总要有一支超广,如果可以,它是HOLOGON!
25 摄影的路上,你总要有一支85/1.4,如果可以,它是85/1.2!
26 摄影的路上,你总要有一支300/2.8,因为400/2.8太长,而200/2略短!
27 当你觉得自己该精简器材的时候,你已经成为了技术派!
28 当你总是觉得自己缺件器材的时候,你就快成为一个器材派!
29 当你觉得自己快要成为一个器材派时,你就已经是器材派了!
30 成为一个器材派高手不比成为一个技术派高手容易,当在同一焦段中有两支以上重复的镜头时,你刚刚踏入门槛!
31 当你连2.8的光圈都觉得小的时候,你已经是一个成熟器材分子了
32 当你的镜头群中全部都是恒定光圈且一半以上为1.4的时候,你已经走向毒枭的行列!
33 当你拥有“F口28/1.4,F口58/1.2,M口16/8,M口50/1,YC口300/2,YC口85/1.2,EF口50/1,EF口200/2”中任何一支时,你已经无可救药了!
34 当上述镜头中你拥有超过两支时,可以办理离婚、分手、或尽快把另一半的器材热情培养起来!
35 当上述镜头你都拥有时,兄弟,咱们拜把子!
36 器材派没什么不好,可悲的是成了器材派还在器材上说不出个所以然!
37 旁轴的巅峰是ALPA,大幅的终点是Linhof,广角的至尊是HOLOGON,长焦的霸主是SONNER,日本相机都是上不了大席的狗肉!
38 Leica不是品味的象征,是营销的完胜,Leica只有一支镜头,就是那支有着两片萤石的八枚玉!
39 玩镜头就要玩结构,所以要玩Carl Zeiss!
40 于是Leica烧钱,Carl Zeiss要命!
41 Leica的快门再轻,也比不上镜间快门的120旁轴,加上底片的优势,一台BRONICA 645都能将MP打翻在地,所以,以为Leica是终点的人其实是器材的井底之蛙!
42 ALPA加Carl Zeiss镜头是高端摄影玩家的标杆,遗憾的是,达到这个标杆需要浸淫太多器材!
43 好器材和名牌包一样,是需要行家来鉴赏,上来就问价钱的主儿和看到LV就问真的假的一样,跟你不在一个档次,无须搭理丫的。行家一般不问,行家都装深沉地摸摸看看后显得面不经意其实心中嫉妒不已地轻率地点点头而已!
44 一机数镜的玩法是折腾自己,最好的配置是一机一镜,有几支镜头,就配几台机身!
45 移轴是大画幅的专利,所有135的移轴镜头都是扯淡!
46 近摄镜和皮腔永远替代不了微距镜头!
47 微距无弱旅,标头无弱旅!越贵的镜头越彪悍!
48 每家都有大三元,大三元就算光圈做到1.4,也永远都是二流镜头,在同一时代中,变焦绝无可能超越定焦!
49 用定焦侮辱变焦,用旁轴奚落单反,用大幅藐视旁轴,玩摄影总会在看不起别人和被人看不起的波段中周而复始,所以,玩器材要低调!
50 玩灯是一个新的开始,SB800只有一支的人不叫玩灯,SB800的基配是两支,标配是四支,豪配是九支,正面两支侧面两支背后四支,还有一支备用,此外还得有SU800!
51 倍感打击的是,玩SB800其实不能算玩灯……灯的牌子叫Broncolor!
52 开始玩灯后需要一个助理,否则那些笨重的家伙会让你苦不堪言,或你可以像我一样玩单灯,当停车地点距离拍摄地点300米以内时,一套600W的套装勉强可以拿得动!
53 数码后期是无聊的,是对摄影本身的阉割,是对器材装备的侮辱,但不得不去做。数码后期器材中最重要的是显示器,最不重要的是显卡!
54 高档数码是奢侈,低档数码是垃圾,中档数码是奢侈的垃圾!
55 便宜买死人!
56 假如没有一支大炮,你就不知道自己的身体好不好!
57 永远记住,机器总是比你聪明得多的;也要永远记住,机器有时候是很笨的--那都是因为你笨,没有正确的去使用它!
58 景深是器材派最重要的技术指标之一,所以要掌握景深计算公式,下载一个软件放在手机里,因此,手机最好是Windows Mobile系统的!
59 记住无忌的名言:一分钱,一分货;二角钱,二分货;三元钱,三分货!
60 下一支镜头是最好的!
61 下一个附件是最需要的!
62 下一台机身是最不可或缺的!
63 买你买得起的最贵的相机;同理,买你扛得动的最重的脚架!
64 三角架,买到第三个才知道前两个的钱完全是应该省下的!
65 球台的路程略略短暂一些,悟性高的话,第二个就可以到位了!
66 稳定系统中最讲究的是快装板,顺利的话,一个器材派会有五片以上!
67 稳定系统中假如没有快门线,上述的一切都将沦为扯淡!
68 器材中,永远令人头疼的是包,永远无法立竿见影的是UV镜,永远令人欣喜的是接目镜放大器!
69 在目镜上花的每一分钱都能获得立竿见影的效果,其性价比最高的是橡胶目镜杯环!
70 想要比别人的视角低,就要趴下;想要比别人视角高,就要举起;想要比别人斜,就要狂侧--否则,你就需要直角取景器!
71 对于135相机来说,腰平取景器是非常重要的附件!
72 对于120相机来说,眼平取景器是非常重要的附件!
73 器材附件的疗效在于帮助你榨干器材的潜能,副作用是榨干你的口袋!
74 买一台四万的机身,还在意四千的附件吗?买一支六万的镜头,还在意六千的附件吗?买了三千的附件,能不配三万的器材吗?
75 对器材的态度将构建摄影的人格!
76 烧海无边,回头无岸!
77 成为一个器材派之后,唯一要做的事情,就是尽可能别丢器材的人!

准老爸日记19

2010年8月29日 星期天 晴!

小力(小丽)娃,今天是老爸年轻时最崇拜的歌星Michael.Jackson诞辰日.这位才华横溢的天才音乐人,舞蹈家让老爸的年轻时代充满了阳光和朝气,也间接改变和创造了你老爸我的年轻时代的生活,因为他才有现在的我!回想起老爸以前在初中时代对他的崇拜行为,真是年轻啊......那时没有电脑,没有网络,没有DVD,老爸就用LCD(等你长大后只能在数字博物馆才能看到的镭射光碟)考到VCR(录像带的机器)看,学习他的舞蹈.那是多么快乐的年少时光啊.还半夜跑到我们当地政府门口用录音机播放歌曲跳街舞.那时是1996年.现在的街舞还没有发生呢!!!!!!!可惜老爸生错了地方,在大中国西南角落中,有一个对西方文化无限崇拜的男孩......不然说不定我现在都是艺人了!看到现在<<舞出我人生>>电影系列,真是让老爸怀念啊.在老爸那个时代,就只能看<<霹雳舞>>这样的电影了.这可是影响了一代人的电影啊.那是能滑个步都是牛人级别的了.在信息闭塞的年代,你要标新立异很容易,在现在你生活的信息时代,这需要实力,个人的实力.

每个时代都会造就那个时代特有的事物,在老爸读中学的年代,那是天朝国经济文化冲击最强烈的时代,我们有这样的向往,但是没有这样的机会.不像80后,更不像90后,更不要说你这个10后了,那是什么都爆炸的时代.就像一个笑话说的,老爸读小学的时候,大学不要钱,老爸读大学的时候,小学不要钱.我们玩街舞叫玩物丧志,现在玩街舞小孩叫多面发展,我们玩游戏要偷偷摸摸节约早饭钱才行,现在玩游戏不仅有奖金还有工资...什么事啊!!我们那是交朋友要给<<童话大王>><<花季>>等杂志写信交友.用书信来往,比Email慢,比QQ原始,也没有短信费钱...但那是感情纯真.污染小,低碳生活!我们的信息主要来自CCAV等等各种自以为是的AV,好不容易有个凤凰AV,结果还被停了.韩剧就是从凤凰AV来的,迷倒一大片人的<<天桥风云>>,让我们所铭记的<<东京爱情故事>>这个时候小日本还不是那么可恨,棒子国也没有这么无耻.<<小飞侠>>动画片让我们对童年依然向往.LIning在那个时候是名牌,你奶奶每次都以给老爸我买LiNing能装备老爸我而自豪.....而我估计对你Nike你是你的睡衣.Adidas是你的书包.Kappa估计你看都不会看.....要是你是小丽,希望你不会在中学时候就要我给你买Gucci.....要是把你教育成这样,我就太失败了!!!!!!要是你的小力,希望你不要在读大学以前学会抽烟,身体在发育.不管你是小力还是小丽,希望你喜欢阅读,任何自己感兴趣或者想知道的答案都自己从书本上获得,网络的使用是一种技能,但它还不能代替书本.所以你必须从书本来获取知识,知道吗?电子书算吗?唉....... 

哦,我们来想想等你到读书年纪时候的校园生活:6年后,估计CPU主频应该到10GHZ了....估计芯片水平应该达到5-10nm技术.老爸能用手机随时跟踪和发现你(虽然现在也能,但是不普及),你在学校上课我能通过网络看到你课堂情况.不要和其它同学传纸条哦!如果你是不幸读上了重点学校,那估计上课的课本应该会有电子版的了,老师的课堂笔记也是pdf的了.说不定你使用iPad5来做电子课本呢.还老爸一定会教你用电脑,写程序,如果你是小丽同学,那你惨了...你老妈要带你学钢琴,小提琴,画画....虽然老爸以前常常画画但是真的要学的话那是十分枯燥无味的..哈哈哈!如果你是小力,那从你可以走路开始,老爸就带你游山玩水,驴行暴走...不过为了你将来找媳妇,我觉得你还是可以学学画画和谈感情..方便....

你上中学时候给女生都不用纸来传纸条了..应该是短信或者微博.哈哈,不过这可能被你老爸我跟踪哦.所以你要小心,不然就更加的努力成为一个电脑小天才,不然你惨了,一切在我的监视下!!!

好了,等你以后长大了,到了时候,老爸再给你讲老爸年轻时候的丰功伟绩!!无数小mm为之痴狂!

这个周末,我带上你和你妈妈,还有外婆去了金佛山呼吸新鲜空气.环境很舒服哦!你妈妈说你到了金佛山就不老实,动的厉害.

IMG_7135 (59).jpg

你的豆阿姨,蛋阿姨也想听听你的声音,等你出来了,把她们闹翻天!

IMG_7150 (74).jpg

咦!!!小力娃在动!

IMG_7143.jpg

老爸为你们服务!

IMG_7058.jpg

呵呵,以后也带你小子下河游泳去!不过这样跳水会很疼的!

IMG_7044.jpg

爸爸和妈妈!

IMG_7101.jpg

受不了你的豆阿姨.唉.........

IMG_7124.jpg

还有你那古怪的蛋阿姨!

IMG_7109.jpg

但是,她们对征婚照的向往依然不减!

IMG_7157.jpg

更多图片可看:快乐妈妈金佛山照片集

在这节,你会发现另外一种创建iPhone SDK程序的方法:Windows-based Application.和View-based Application不一样,Windows-based Application创建的时候默认不包含一个View控制器.它只会提供一个iPad应用程序的骨架,其它都需要开发者自己添加--你需要自己添加你的View窗口和他们的控制器.为此,一个Window-based Application是一个了解View控制器怎样工作和领悟View控制器和XIB文件链接间的关系.当了解清楚了View控制器工作原理后,我们就能创建复杂的程序了.

首先第一件事,我们试着创建写一个Window-based应用,添加一个View控制器.

创建一个Window-based应用,程序下载:windowBasedApp.rar

1.打开Xcode,用Window-based Application创建一个项目,取名:windowBasedApp.项目创建后在文件list列表中我们只能看到一个XIB文件(MainWindow.xib)和两个委托类文件(windowBasedAppAppDelegate.h和windowBasedAppAppDelegate.m)

4-11.jpg

2.C+R,一个空屏幕被显示在iPad模拟器,这是因为Window-based Application只提供一个框架,就一个窗口和应用委托类.

3.在Xcode,双击MainWindow.xib在Interface Builder中编辑它.注意在MainWindow.xib窗口有四个项目:

 

➤➤ File’s Owner

➤➤ First Responder

➤➤ Window

➤➤ Window Based App App Delegate

4-12.jpg

4.从Library窗口拖动一个View控制器项目到MainWinidow.xib窗口.你连接一个View控制器到一个窗口

4-13.jpg

 

 

➤➤ File’s Owner
➤➤ First Responder
➤➤ Window
➤➤ Window Based App App Delegate

5.在Xcode,右键点击Classes文件夹,然后添加一个新的文件

4-14.jpg

在新文件窗口,点击Cocoa Touch Class项和选择UIAlertViewDelegateviewController子类,勾选"Targeted for iPad"和"With VIB for user interface"

4-15.jpg

点击Next,为这个项目取名HelloWorldViewController.m.Xcode将会这样显示:

4-16.jpg

.h和.m两个文件是为刚才你在Interface Builder添加的View控制器项目服务的View Controller类文件,这个.xib文件是为试图控制器UI界面服务的.为了让项目变得有更有条理性,我们应该将.xib文件拖动到Resources文件夹.

6.双击HelloWorldViewController.xib文件,编辑它,编辑它,我们编辑它!

7.添加一个Round Rect Button到View窗口:

4-17.jpg

8.在IB里,选择View Controller项到MainWindow.xib窗口,查看它的Identity Inspector窗口.拉动Class后面的列表,选择HelloWorldViewController.搞定后,名字会自动添加空格,为了美观不影响什么!

4-18.jpg

9.查看Hello World View controller的Attributes Inspector 窗口,拉动NIB后面的列表,选择HelloWorldViewController:

4-19.jpg

10,最麻烦的来了!写代码!

在windowBasedAppAppDelegate.h文件中添加:

 

#import <UIKit/UIKit.h>

 

//---add a forward reference to the HelloWorldViewController class---

@class HelloWorldViewController;

@interface windowBasedAppAppDelegate :

NSObject <UIApplicationDelegate> {

UIWindow *window;

//---create an instance of the view controller---

HelloWorldViewController *viewController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;

//---expose the view controller as a property---

@property (nonatomic, retain) IBOutlet

HelloWorldViewController *viewController;

@end

11.在windowBasedAppAppDelegate.m文件中添加:

 

#import “windowBasedAppAppDelegate.h”

#import “HelloWorldViewController.h”

@implementation windowBasedAppAppDelegate

@synthesize window;

//---synthesize the property---

@synthesize viewController;

- (BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch

//---add the new view to the current window---

[window addSubview:viewController.view];

[window makeKeyAndVisible];

return YES;

}

- (void)dealloc {

[viewController release];

[window release];

[super dealloc];

}

@end

12.在MainWindow.xib窗口中,Ctrl+鼠标拖动这个window based App App Delegate项目到Hello World View Controller项目,选择viewController.将这个窗口和View控制器关联起来

4-20.jpg

13.C+R,test it,一个按钮显示在了主屏幕上!

4-21.jpg

工作原理:(第二天继续)

当你用Window-based Application创建了一个iPad项目,Xcode提供了你一个最小化的程序构架---一个MainWindow.xib文件,一个应用委托类.你自己去添加View控制器,和窗口.

在上面的练习中,我们首先添加了一个ViewController项目链接到MainWindow.xib窗口.接着我们添加一个UIViewController类(我们命名为HelloWorldViewController),以至于它能和View控制器进行连接.你所编辑的这个控制类包含代码能在用户和窗口之间相互联系.

当这个应用程序完成装载运行的时候,你所添加的HelloWorldViewController对象到这个窗口以至于它能通过UIWindow类中的addSubview方法实现显示:

           [window addSubview:viewController.view];

添加一个View控制器和一个View程序

1.在上面这个windowBasedAppp程序,右键点击Xcode左侧的classes文件夹,添加一个新文件.选择UIViewController子类项目,取名:MySecondViewControlle.确认With XIBfor user interface勾选了.

4-22.jpg

2.在windowbasedAppAppDelegate.m文件中,添加下面代码:

 

#import “windowBasedAppAppDelegate.h”

#import “HelloWorldViewController.h”

#import “MySecondViewController.h”

@implementation windowBasedAppAppDelegate

@synthesize window;

@synthesize viewController;

 

//---create an instance of the second view controller---

MySecondViewController *mySecondViewController;

- (BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//---instantiate the second view controller---

mySecondViewController = [[MySecondViewController alloc]

initWithNibName:nil

bundle:nil];

//---add the view from the second view controller---

[window addSubview:mySecondViewController.view];

//---comment this out so that it doesn’t load the viewController---

//[window addSubview:viewController.view];

[window makeKeyAndVisible];

return YES;

}

- (void)dealloc {

[mySecondViewController release];

[viewController release];

[window release];

[super dealloc];

}

 

 

3.在MySecondViewController.h文件中,再添加:

 

#import <UIKit/UIKit.h>

@interface MySecondViewController : UIViewController {

//---create two outlets - label and button---

UILabel *label;

UIButton *button;

}

//---expose the outlets as properties---

@property (nonatomic, retain) UILabel *label;

@property (nonatomic, retain) UIButton *button;

@end

 

4.打开MySecondViewControlle.m文件,添加ViewDidLoad()方法和修改dealloc方法

 

@synthesize label, button;

- (void)viewDidLoad {

//---create a CGRect for the positioning---

CGRect frame = CGRectMake(230, 10, 300, 50);

//---create a Label view---

label = [[UILabel alloc] initWithFrame:frame];

label.textAlignment = UITextAlignmentCenter;

 

label.font = [UIFont fontWithName:@“Verdana” size:20];

label.text = @“This is a label”;

//---create a Button view---

frame = CGRectMake(230, 100, 300, 50);

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

button.frame = frame;

[button setTitle:@“OK” forState:UIControlStateNormal];

button.backgroundColor = [UIColor clearColor];

//---add the views to the View window---

[self.view addSubview:label];

[self.view addSubview:button];

[super viewDidLoad];

}

- (void)dealloc {

[label release];

[button release];

[super dealloc];

}

5.C+R,一个标签和按钮窗口被显示在程序的主窗口!

程序执行原理:

在前面一个步骤,你添加了一个View控制器项目.一个UIViewController类的实体,一个XIB文件到你的项目.在这个步骤里面,我们创建了一个UIVIewController类实体和一个窗口程序到主窗口.

创建UIViewController类的实体:

 

//---instantiate the second view controller---

mySecondViewController = [[MySecondViewController alloc]

initWithNibName:nil

bundle:nil];

这里你不需要XIB文件,因为多个视图可公用一个程序文件.因此initWithNibName:常量被设为nil.

加载一个试图窗口将UIViewControoler类实例化,你可以用UIWindow实例中的addSubview方法

 

//---add the view from the second view controller---

[window addSubview:mySecondViewController.view];

4-23.jpg

在运行的时候程序创建一个视图,你需要重置UIViewController类的viewDidLoad()方法.这里,你创建了一个标签实体和一个按钮实体.定义他们的位置和文字标签,最后添加他们到主视图窗口:

 

- (void)viewDidLoad {

//---create a CGRect for the positioning---

CGRect frame = CGRectMake(10, 10, 300, 50);

 

//---create a Label view---

label = [[UILabel alloc] initWithFrame:frame];

label.textAlignment = UITextAlignmentCenter;

label.font = [UIFont fontWithName:@“Verdana” size:20];

label.text = @“This is a label”;

//---create a Button view---

frame = CGRectMake(10, 250, 300, 50);

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

button.frame = frame;

[button setTitle:@“OK” forState:UIControlStateNormal];

button.backgroundColor = [UIColor clearColor];

//---add the views to the current View---

[self.view addSubview:label];

[self.view addSubview:button];

[super viewDidLoad];

}

下一节,创建和连接Actions

 

 

 

 

 

 

 

About Me

我是一个超级苹果迷+老乔的fans和Google的簇拥,一切新奇的事物我都好奇,摄影、运动、旅游、读书、电影、游戏都是我的爱好,荒淫大家给我留言,发邮件,请我吃饭、带我旅游(也不要忘记了我的领导同志!)……

« 2012年2月 »
   1234
567891011
12131415161718
19202122232425
26272829   

微博

统计

文章:119篇
评论:95条 (0条Spam)
相册:11个 (339张图片)
主题:InSense theme