【转载】IOS 入门开发之创建第一个应用程序(一)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://xys289187120.blog.51cto.com/3361352/677369                

 IOS 入门开发之创建第一个应用程序



具体创建项目的方法与开发语言相关知识请阅读我之前的文章 【Objective-C 语法锦集】   本系列文章将着重讨论iPhone与iPad 应用程序入门的开发。


创建一个iPhone项目,名称为HelloWorld,如图所示彩色矩形标示的为一些项目中比较重要的组成部分。


HelloWorldAppDelegate:监听应用程序的周期,比如程序的启动,程序内存的警告,程序挂起后在恢复等等。
HelloWorldViewController: 控制应用程序的显示,跟视图有关的东西都在这里。
MainWindows.xib与HelloWorldViewController.xib: 可视化界面的布局,方便界面的设计,一会儿介绍它的使用方法。
main:最重要的一个类,iPhone程序的入口类。






接下来介绍这几各类重要的一些方法。


打开main.m这个入口类

UIApplicationMain函数:这个函数是iPhone应用开发的入口,在这里实例化应用程序,通知HelloWorldAppDelegate启动应用程序。

 
  
  
  1. #import <UIKit/UIKit.h> 
  2.  
  3. int main(int argc, char *argv[]) 
  4.     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
  5.     int retVal = UIApplicationMain(argc, argv, nil, nil); 
  6.     [pool release]; 
  7.     return retVal; 
 

HelloWorldAppDelegate.m
应用程序启动后进入这个方法,在这里创建程序的窗口,启动结束以后HelloWorldAppDelegate就不会在发挥作用 ,除非程序出现特殊情况,比如内存警告,程序的挂起与恢复 等等  正常情况下 程序会启动视图控制器,通知HelloWorldViewController去显示这个应用程序。

 
 
  
  
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  2.     // Override point for customization after application launch. 
  3.       
  4.     self.window.rootViewController = self.viewController; 
  5.     [self.window makeKeyAndVisible]; 
  6.     return YES; 
 
HelloWorldViewController.m

程序界面显示之前调用,用于初始化显示内容。

 
  
  
  1. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
  2. - (void)viewDidLoad 
  3.     [super viewDidLoad]; 
 

下面构建第一个HelloWorld项目

首先打开 HelloWorldViewController.xib显示控制器,这时候IDE出现一个可视化编辑视图。
视图控件栏中存在很多控件 可以拖放使用,举个例子拖动右侧Lable控件至可视化编辑视图中,可放置任意位置,编辑Lable控件显示内容。







在编辑框中写入HelloWorld后保存,一行代码都不用添加直接运行程序。HelloWorld映入眼帘,简单吧 哇咔咔。





下面用代码来添加Lable控件

HelloWorldViewController.m

 
 
  
  
  1. - (void)viewDidLoad 
  2.     [super viewDidLoad]; 
  3.      
  4.     //创建label视图   
  5.     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 200, 30)];   
  6.     //设置显示内容   
  7.     label.text = @"雨松MOMO的程序世界";   
  8.     //设置背景颜色   
  9.     label.backgroundColor = [UIColor blueColor];   
  10.     //设置文字颜色   
  11.     label.textColor = [UIColor whiteColor];   
  12.     //设置显示位置居中   
  13.     label.textAlignment = UITextAlignmentCenter;   
  14.     //设置字体大小   
  15.     label.font = [UIFont fontWithName:[[UIFont familyNames] objectAtIndex:10] size:20];  
  16.     //将label添加到显示视图中 
  17.     [self.view addSubview:label];  
  18.      
  19.     //释放对象     
  20.     [label release]; 
 
运行程序 如图所示 使用视图添加的文本内容 与使用代码添加的文本内容都出现在了屏幕当中









使用可视化布局添加一个按钮


  
  
  1. #import <UIKit/UIKit.h> 
  2.  
  3. @interface HelloWorldViewController : UIViewController 
  4.     //定义了一个按钮buttonA   
  5.     IBOutlet UIButton *buttonA;   
  6.     //定义了一个按钮buttonB 
  7.     UIButton *buttonB; 
  8.  
  9. //声明A按钮被按下的一个方法(IBAction) 相当于(void)   
  10. -(IBAction)bttonPressed:(id)obj;     
  11.  
  12.  
  13. -(void)showDialog; 
  14. @end 

 

在右侧栏中点中 鼠标 New Referencing Outlet 拉出一条线到左侧箭头指示方块上松开鼠标 这是会显示上面定义的IBOutlet UIButton ,选中这个buttonA 标示这个拖动的button控件和buttonA 绑定在了一起,然后鼠标点击右侧Touch up inside 同样拉出一条线到左侧箭头指示方块上松开鼠标 这时候会显示上面定义的方法buttonPressed 选中后 则标示 这个按钮点击后程序执行buttonPressed方法。

 

 

在代码中去实现这个方法,点击后调用showDialog 方法弹出一个dialog框。

 

  
  
  1. - (void)bttonPressed:(id)obj   
  2. {   
  3.     [self showDialog]; 
  4.      
  5. }   
  6.  
  7. -(void)showDialog 
  8.     
  9.     //这里说一下nil  这个东西就好比java 语言中的 null    
  10.     UIAlertView * alertA= [[UIAlertView alloc] initWithTitle:@"我的视图" message:@"点开了弹出对话框" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];   
  11.     //objectiveC开发中调用方法是用"[]" 例如: [alertA addButtonWithTitle:@"取消"];   
  12.     //如果是为方法赋值则类似java 对象.成员 例如 :textFieldA.text       
  13.     //添加了一个取消按钮   
  14.     [alertA addButtonWithTitle:@"取消"];   
  15.     //将这个UIAlerView 显示出来   
  16.     [alertA show];   
  17.     //objective-C 不像java 有自己的垃圾回收机制 所以我们在编写程序中一定要注意释放内存 从一开始就养成良好习惯   
  18.     [alertA release];   

 

 

 

 

 

同样的道理,使用可视化编辑器可以添加一个按钮响应,同样在代码中也可以添加这个响应。addTarget方法中设置按钮点击后响应的方法为showDialg方法。和上面一样弹出一个dialog框。

 

  
  
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.       
  6.     //创建按钮    
  7.     buttonB = [UIButton buttonWithType:1];    
  8.     //设置按钮范围    
  9.     buttonB.frame = CGRectMake(100, 250, 150, 30);    
  10.     //设置按钮显示内容    
  11.     [buttonB setTitle:@"代码添加按钮" forState:UIControlStateNormal];    
  12.     //设置按钮改变后 绑定响应方法    
  13.     [buttonB addTarget:self action:@selector(showDialog) forControlEvents:UIControlEventTouchUpInside];   
  14.       
  15.     //将label添加到显示视图中  
  16.     [self.view addSubview:buttonB];   
  17.       
  18. }  

 

 

 

 

 

这个方法为view视图在销毁的时候调用,所以在这里释放按钮对象。

 

  
  
  1. - (void)viewDidUnload 
  2.     [super viewDidUnload]; 
  3.     // Release any retained subviews of the main view. 
  4.     // e.g. self.myOutlet = nil; 
  5.      
  6.     //在这里将按钮对象释放掉 
  7.     [buttonA release]; 
  8.     [buttonB release]; 
  9.      

 

 

最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习雨松MOMO希望可以和大家一起进步。

下载地址:http://down.51cto.com/data/259490

本文出自 “雨松MOMO的程序世界” 博客,请务必保留此出处http://xys289187120.blog.51cto.com/3361352/677369

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值