简单iphone应用程序-OC+UI

Objective-C语法系列在之前的文章中一直在介绍基本的语法的相关知识,但是学习语法的目的还是为了走进iPhone IOS的开发世界。从今以后Objective-C语法文章将不在更新。全力更新IOS游戏开发 软件开发系列文章,这篇文章MOMO将带各位盆友们简单介绍iPhone开发的一些基本控件的使用,简单的构建我们第一个iPhone应用程序。各位盆友们我们先预热一下,嘿嘿。
读过我Android系列开发的盆友应该很清楚这个熟悉的界面吧,哇咔咔~~


简单iphone应用程序-OC+UI_第1张图片


获取手机屏幕尺寸的方法
[cpp] view plaincopy
  1. //得到屏幕的宽和高  
  2. CGRect rect=[[UIScreen mainScreen] bounds];       
  3. CGSize size = rect.size;  
  4. int screenWidth = size.width;  
  5. int screenHeight = size.height;  

1.文本框视图
在视图中加入一个文本框,可在框内攥写一些内容,设置字体颜色,位置 ,大小等等。
[cpp] view plaincopy
  1. //创建label视图  
  2. label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, screenWidth, 30)];  
  3. //设置显示内容  
  4. label.text = @"雨松MOMO的程序世界";  
  5. //设置背景颜色  
  6. label.backgroundColor = [UIColor blueColor];  
  7. //设置文字颜色  
  8. label.textColor = [UIColor whiteColor];  
  9. //设置显示位置居中  
  10. label.textAlignment = UITextAlignmentCenter;  
  11. //设置字体大小  
  12. label.font = [UIFont fontWithName:[[UIFont familyNames] objectAtIndex:10] size:20];  

2.按钮视图
       按钮类型为1 为普通按钮,CGrectMake设置按钮的位置与大小,前两个参数设置按钮起始X 与 Y坐标,后两个参数设置按钮的宽度与高度。
       这里重点说一下addTarget, 它可以设置按钮的绑定事件,action:设置按钮点击后响应方法,这行代码的意思是点击这个按钮后程序执行方法ButtonPressed这个函数中的代码。
[cpp] view plaincopy
  1. //创建按钮  
  2. button = [UIButton buttonWithType:1];  
  3. //设置按钮范围  
  4. button.frame = CGRectMake(0, 40, screenWidth, 30);  
  5. //设置按钮显示内容  
  6. [button setTitle:@"这是一个按钮" forState:UIControlStateNormal];  
  7. //设置按钮显示颜色  
  8. button.backgroundColor = [UIColor blackColor];  
  9. //设置按钮改变后 绑定响应方法  
  10. [button addTarget:self action:@selector(ButtonPressed) forControlEvents:UIControlEventTouchUpInside];    

点击这个按钮后进入下面这个方法,弹出一个dialog对话框。
[cpp] view plaincopy
  1. - (void)ButtonPressed  
  2. {    
  3.     
  4.     //创建对话框  
  5.     UIAlertView * alertA= [[UIAlertView alloc] initWithTitle:@"我的视图" message:@"欢迎一起学习IPHONE开发" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];   
  6.     //添加取消按钮  
  7.     [alertA addButtonWithTitle:@"取消"];    
  8.     //将这个UIAlerView 显示出来    
  9.     [alertA show];    
  10.     //objective-C 不像java 有自己的垃圾回收机制 所以我们在编写程序中一定要注意释放内存 从一开始就养成良好习惯    
  11.     [alertA release];  
  12.      
  13. }   

简单iphone应用程序-OC+UI_第2张图片



3.进度条视图
和上面button视图的构建差不多,这里设置进度条最大值与最小值,拖动的时候就可以直接得到这个范围之间的数值,同样将拖动事件绑定在valueChangeTest方法中。
[cpp] view plaincopy
  1. //创建进度条  
  2. slider=[[UISlider alloc] initWithFrame:CGRectMake(0,80,screenWidth,30)];  
  3. //进度条最大值  
  4. slider.maximumValue=100;  
  5. //进度条最小值  
  6. slider.minimumValue=0;  
  7. //起始点的位置  
  8. slider.value=20;  
  9. //设置背景颜色  
  10. slider.backgroundColor=[UIColor blackColor];  
  11. //设置进度条改变后 绑定响应方法  
  12. [slider addTarget:self action:@selector(valueChangeTest) forControlEvents:UIControlEventValueChanged];  

拖动进度条后发生改变进入下面方法,[slider vale]可以得到拖动的进度值。
[cpp] view plaincopy
  1. - (void)valueChangeTest  
  2. {    
  3.     
  4.     float value = [slider value];  
  5.     NSLog(@"进度条已经发生改变:%f",value);  
  6.       
  7. }  

简单iphone应用程序-OC+UI_第3张图片




4.编辑框视图
        非常常见的视图,可以在编辑框中输入信息。前提是用户触摸点击输入框,这时弹出系统软键盘方可输入信息,但是这个输入框不会自动关闭,须要我们在程序中自己调用代码去关闭,稍后介绍如何关闭这个输入框。
[cpp] view plaincopy
  1. //创建文字输入框  
  2. textfield = [[UITextField alloc] initWithFrame:CGRectMake(0,120,screenWidth,50)];  
  3.   
  4. //默认显示文字  
  5. textfield.text = @"这是一个输入框";  
  6. //点击后显示文字  
  7. textfield.placeholder = @"请在输入框是输入信息";  
  8. //文字显示位置,这里居左对齐  
  9. textfield.textAlignment = UITextAlignmentLeft;  
  10. //默认显示文字颜色  
  11. textfield.textColor = [UIColor grayColor];  
  12. //设置输入的字体  
  13. textfield.font = [UIFont fontWithName:[[UIFont familyNames] objectAtIndex:0] size:17];  
  14. //设置输入框的类型,3为普通类型  
  15. textfield.borderStyle = 3;  
  16. //点击输入框后清楚原始内容  
  17. textfield.clearsOnBeginEditing = YES;  
  18. //设置输入框背景颜色  
  19. textfield.backgroundColor = [UIColor blackColor];  
简单iphone应用程序-OC+UI_第4张图片


5.图片视图
设置图片在屏幕中显示的位置,当然这个图片文件必需拷贝到工程当中,拷贝方法可以直接将图片用鼠标拖动到Xcode的工程中。
[cpp] view plaincopy
  1. //创建图片视图  
  2. imageview = [[UIImageView alloc] initWithFrame:  
  3.                         CGRectMake(100, 200, 120, 120)];  
  4.   
  5. //设置图片的显示的资源路径  
  6. [imageview setImage:[UIImage imageNamed:@"temp.jpg"]];  


6.透明全屏按钮
它的存在就是为了解决输入法出现后无法自动关闭,就是说如果输入法软键盘出现后 ,这时候点击屏幕任意位置关闭输入法,实现的原理是用户点击到了屏幕中设置的透明按钮,调用关闭输入法方法将输入法关闭了而已 .
[cpp] view plaincopy
  1. //创建一个隐藏的按钮  
  2. backgroudButton=[[UIButton alloc] init];  
  3. //让这个填充整个屏幕  
  4. backgroudButton.frame = self.view.frame;   
  5. //添加按钮的响应时间,用来关闭软键盘  
  6. [backgroudButton addTarget:self action:@selector(ButtonClick) forControlEvents:UIControlEventTouchUpInside];    
点击屏幕任意位置,关闭输入法。
[cpp] view plaincopy
  1. -(void)ButtonClick  
  2. {   
  3.     // 触摸屏幕人以地方 关闭软键盘  
  4.     [textfield resignFirstResponder];  
  5. }  
        这样所有的视图的代码都已经贴上,这些视图实际上是subView,须要将这些subView添加到屏幕的主视图当中。并且为了避免内存出现泄漏,一定要及时的释放这些视图。
[cpp] view plaincopy
  1. //将所有对象添加入视图中  
  2. [self.view addSubview:backgroudButton];   
  3. [self.view addSubview:label];  
  4. [self.view addSubview:imageview];  
  5. [self.view addSubview:button];  
  6. [self.view addSubview:slider];  
  7. [self.view addSubview:textfield];  
  8.   
  9.   
  10.   
  11. //释放所有对象  
  12. [imageview release];  
  13. [label release];  
  14. [slider release];  
  15. [textfield release];  


下面给出完整的代码
HelloWorldViewController.h
[cpp] view plaincopy
  1. #import <UIKit/UIKit.h>  
  2.   
  3. @interface HelloWorldViewController : UIViewController  
  4. {  
  5.     //文本框  
  6.     UILabel * label;  
  7.     //按钮  
  8.     UIButton * button;  
  9.     //进度条  
  10.     UISlider *slider;  
  11.     //输入框  
  12.     UITextField * textfield;  
  13.     //图片视图  
  14.     UIImageView *imageview ;  
  15.     //背景按钮  
  16.     UIButton * backgroudButton;  
  17. }  
  18. @end  

HelloWorldViewController.m
[cpp] view plaincopy
  1. #import "HelloWorldViewController.h"  
  2.   
  3. @implementation HelloWorldViewController  
  4.   
  5. - (void)didReceiveMemoryWarning  
  6. {  
  7.     // Releases the view if it doesn't have a superview.  
  8.     [super didReceiveMemoryWarning];  
  9.       
  10.     // Release any cached data, images, etc that aren't in use.  
  11. }  
  12.   
  13. #pragma mark - View lifecycle  
  14.   
  15.   
  16. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
  17. - (void)viewDidLoad  
  18. {  
  19.     [super viewDidLoad];  
  20.       
  21.     //得到屏幕的宽和高  
  22.     CGRect rect=[[UIScreen mainScreen] bounds];       
  23.     CGSize size = rect.size;  
  24.     int screenWidth = size.width;  
  25.     int screenHeight = size.height;  
  26.       
  27.       
  28.       
  29.     //创建label视图  
  30.     label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, screenWidth, 30)];  
  31.     //设置显示内容  
  32.     label.text = @"雨松MOMO的程序世界";  
  33.     //设置背景颜色  
  34.     label.backgroundColor = [UIColor blueColor];  
  35.     //设置文字颜色  
  36.     label.textColor = [UIColor whiteColor];  
  37.     //设置显示位置居中  
  38.     label.textAlignment = UITextAlignmentCenter;  
  39.     //设置字体大小  
  40.     label.font = [UIFont fontWithName:[[UIFont familyNames] objectAtIndex:10] size:20];  
  41.       
  42.    
  43.     //创建按钮  
  44.     button = [UIButton buttonWithType:1];  
  45.     //设置按钮范围  
  46.     button.frame = CGRectMake(0, 40, screenWidth, 30);  
  47.     //设置按钮显示内容  
  48.     [button setTitle:@"这是一个按钮" forState:UIControlStateNormal];  
  49.     //设置按钮显示颜色  
  50.     button.backgroundColor = [UIColor blackColor];  
  51.     //设置按钮改变后 绑定响应方法  
  52.     [button addTarget:self action:@selector(ButtonPressed) forControlEvents:UIControlEventTouchUpInside];    
  53.       
  54.       
  55.       
  56.     //创建进度条  
  57.     slider=[[UISlider alloc] initWithFrame:CGRectMake(0,80,screenWidth,30)];  
  58.     //进度条最大值  
  59.     slider.maximumValue=100;  
  60.     //进度条最小值  
  61.     slider.minimumValue=0;  
  62.     //起始点的位置  
  63.     slider.value=20;  
  64.     //设置背景颜色  
  65.     slider.backgroundColor=[UIColor blackColor];  
  66.     //设置进度条改变后 绑定响应方法  
  67.     [slider addTarget:self action:@selector(valueChangeTest) forControlEvents:UIControlEventValueChanged];  
  68.      
  69.       
  70.      
  71.       
  72.     //创建文字输入框  
  73.     textfield = [[UITextField alloc] initWithFrame:CGRectMake(0,120,screenWidth,50)];  
  74.       
  75.     //默认显示文字  
  76.     textfield.text = @"这是一个输入框";  
  77.     //点击后显示文字  
  78.     textfield.placeholder = @"请在输入框是输入信息";  
  79.     //文字显示位置,这里居左对齐  
  80.     textfield.textAlignment = UITextAlignmentLeft;  
  81.     //默认显示文字颜色  
  82.     textfield.textColor = [UIColor grayColor];  
  83.     //设置输入的字体  
  84.     textfield.font = [UIFont fontWithName:[[UIFont familyNames] objectAtIndex:0] size:17];  
  85.     //设置输入框的类型,3为普通类型  
  86.     textfield.borderStyle = 3;  
  87.     //点击输入框后清楚原始内容  
  88.     textfield.clearsOnBeginEditing = YES;  
  89.     //设置输入框背景颜色  
  90.     textfield.backgroundColor = [UIColor blackColor];  
  91.      
  92.       
  93.       
  94.     //创建图片视图  
  95.     imageview = [[UIImageView alloc] initWithFrame:  
  96.                             CGRectMake(100, 200, 120, 120)];  
  97.       
  98.     //设置图片的显示的资源路径  
  99.     [imageview setImage:[UIImage imageNamed:@"temp.jpg"]];  
  100.        
  101.     //创建一个隐藏的按钮  
  102.     backgroudButton=[[UIButton alloc] init];  
  103.     //让这个填充整个屏幕  
  104.     backgroudButton.frame = self.view.frame;   
  105.     //添加按钮的响应时间,用来关闭软键盘  
  106.     [backgroudButton addTarget:self action:@selector(ButtonClick) forControlEvents:UIControlEventTouchUpInside];      
  107.       
  108.       
  109.     //设置整个视图的背景颜色  
  110.     [self.view setBackgroundColor:[UIColor blackColor]];  
  111.       
  112.       
  113.       
  114.     //将所有对象添加入视图中  
  115.     [self.view addSubview:backgroudButton];   
  116.     [self.view addSubview:label];  
  117.     [self.view addSubview:imageview];  
  118.     [self.view addSubview:button];  
  119.     [self.view addSubview:slider];  
  120.     [self.view addSubview:textfield];  
  121.      
  122.   
  123.       
  124.     //释放所有对象  
  125.     [imageview release];  
  126.     [label release];  
  127.     [slider release];  
  128.     [textfield release];  
  129.       
  130. }  
  131.   
  132. - (void)ButtonPressed  
  133. {    
  134.     
  135.     //创建对话框  
  136.     UIAlertView * alertA= [[UIAlertView alloc] initWithTitle:@"我的视图" message:@"欢迎一起学习IPHONE开发" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];   
  137.     //添加取消按钮  
  138.     [alertA addButtonWithTitle:@"取消"];    
  139.     //将这个UIAlerView 显示出来    
  140.     [alertA show];    
  141.     //objective-C 不像java 有自己的垃圾回收机制 所以我们在编写程序中一定要注意释放内存 从一开始就养成良好习惯    
  142.     [alertA release];  
  143.      
  144. }   
  145.   
  146.   
  147. - (void)valueChangeTest  
  148. {    
  149.     
  150.     float value = [slider value];  
  151.     NSLog(@"进度条已经发生改变:%f",value);  
  152.       
  153. }  
  154.   
  155. -(void)ButtonClick  
  156. {   
  157.     // 触摸屏幕人以地方 关闭软键盘  
  158.     [textfield resignFirstResponder];  
  159. }  
  160.   
  161.   
  162.   
  163. - (void)viewDidUnload  
  164. {  
  165.     [super viewDidUnload];  
  166.     // Release any retained subviews of the main view.  
  167.     // e.g. self.myOutlet = nil;  
  168. }  
  169.   
  170. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  171. {  
  172.     // Return YES for supported orientations  
  173.     return (interfaceOrientation == UIInterfaceOrientationPortrait);  
  174. }  
  175.   
  176. @end  

你可能感兴趣的:(简单iphone应用程序-OC+UI)