xcode4.6 使用xib界面与和代码相关联的方法

来源:互联网 发布:福州市人口数据 编辑:程序博客网 时间:2024/06/07 23:08
初学object-c,看了网上很多的教程,说找什么Option之类的来关联二者,但我的xcode4.6根本找不到这个东西。今天终于让我在CSDN的博客上找到真正可以关联的方法了。
尊重作者,原文链接:http://blog.csdn.net/like7xiaoben/article/details/7532185

我们可以用代码编写界面,同样也可以在项目中扩展名为xib的文件中设计(图中选中的)

 

 

打开后,在Xcode的右下角有一些常用的控件

 

 

可以直接把这些控件用鼠标拖到界面里使用:

如下用了7个Label和一个Button组成的简单界面

 

 

然后编写定义这个界面内控件的类文件:

 

[cpp] view plaincopy
  1.   
  2. #import   
  3.   
  4. @interface ViewController UIViewController  
  5.  
  6.     //定义三个Label  
  7.     UILabel *titleLabel;  
  8.     UILabel *priceLabel;  
  9.     UILabel *summaryLabel;  
  10.  
  11.   
  12. @property(nonatomic,retain)IBOutlet UILabel *titleLabel;  
  13. @property(nonatomic,retain)IBOutlet UILabel *priceLabel;  
  14. @property(nonatomic,retain)IBOutlet UILabel *summaryLabel;  
  15.   
  16. -(IBAction)Edit:(id)sender;  
  17. @end  

然后要在界面中把控件和代码相关联起来,实现用代码设计控件:

 

我们会在界面的左侧看到这三个图标,选择第一个

 

 

当选择后,在Xcode右上方有这么一块区域

 

 

首先要把这个界面和实现它的类相关联起来,在图中的上方有class的字样,在它的后面的框中输入要关联类的类名(里面也有设置控件属性)

因为在类中我们已经定义了三个Label控件,所以我们可以把这三个和界面中的控件关联


 

在界面左侧的第一图标上右击,回出现这样的画面:

 

注意:只有把这个界面和类相关联后才会出现图中如:priceLabel  / titleLabel  等字样,当然了如果类中没有定义也不会有的,


关联的操作:

 

当添加按钮的关联的时候,会出现下面的画面,要选择倒数第三个选项,

按钮在这里的作用是实现界面切换

 

 

一定要记得把view关联,否则就是没有画面的程序

 

 

关联完成:

 

在添加的过程中会出现各种各样的问题,这个时候就要去确定到底什么没有写或什么没有做:

1.在类中定义,要注意一定要添加   IBOutlet 

2.要和类关联

3.一定要关联view



关于里面button按钮,实现切换

 

[cpp] view plaincopy
  1.   
  2. //实现界面的切换  
  3. -(IBAction)Edit:(id)sender  
  4.  
  5.     //要从此类界面转换到EditViewController类的界面  
  6.     EditViewController *tmpEdit [[EditViewController alloc]initWithNibName:@"EditViewController" bundle:nil];  
  7.     //- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated;   
  8.       
  9.     //设置翻页效果  
  10.     tmpEdit.modalTransitionStyle UIModalTransitionStylePartialCurl;  
  11.       
  12.       
  13.     [self presentModalViewController:tmpEdit animated:YES];//实现页面的切换  
  14.     [tmpEdit autorelease];  
  15.     NSLog(@"Edit function called");  
  16. }  
0 0