ios可视化编程 UI高级 UI_13
来源:互联网 发布:arch linux 龙芯 编辑:程序博客网 时间:2024/06/16 23:52
一、简单的说,IB Xib就是拖控件编程,也可以说是可视化编程(所见即所得),使用Xib编程,相对于纯代码,可以省下大量的敲代码时间,从而提高程序的开发时间,Xcode 4 之后才可以在工程中直接使用xib编程;
使用xib编程只是减轻了MVC中的V设计的工作量,学好Xib有助于了解MVC设计思想;
IB(interface bulider),以后称为xib,由于xib文件人能直接识别,所以xib会在编译后生成.nib文件(二进制文件);
Xib文件中在Xcode 的右侧边框比普通的文件多出4个选项卡,一共6个;
1.对当前文件的描述
2.辅助选项卡,主要用来查询
3.自定义选项卡,可以用来配置和当前Xib文件相关联的实体类,如果创建实体类的时候默认勾上also creat xib file,此时默认和实体类自动关联
4.控件属性选项卡(优先显示自己的属性,在下面显示它父类的属性)
5.配置控件的frame
6.查看和控件相关联的属性或者是方法、或者代理,或者是它所遵循的一些协议
IB(interface bulider),以后称为xib,由于xib文件人能直接识别,所以xib会在编译后生成.nib文件(二进制文件);
Xib文件中在Xcode 的右侧边框比普通的文件多出4个选项卡,一共6个;
1.对当前文件的描述
2.辅助选项卡,主要用来查询
3.自定义选项卡,可以用来配置和当前Xib文件相关联的实体类,如果创建实体类的时候默认勾上also creat xib file,此时默认和实体类自动关联
4.控件属性选项卡(优先显示自己的属性,在下面显示它父类的属性)
5.配置控件的frame
6.查看和控件相关联的属性或者是方法、或者代理,或者是它所遵循的一些协议
file's owner : 指当前xib文件中View所属于的视图控制器,此时view代表这个试图控制器的根视图
//这个方法是视图控制器的指定初始化方法
//如果不给nib文件名字,系统默认去查询找跟当前实体类同名的nib文件名赋值这里
//第二个参数当前程序文件名,[NSBundle mainBundle] 可以不写自动查找
- (id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil{
//如果不给nib文件名字,系统默认去查询找跟当前实体类同名的nib文件名赋值这里
//第二个参数当前程序文件名,[NSBundle mainBundle] 可以不写自动查找
- (id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
}
一个按钮也可以关联多个方法,一个方法可以关联多个按钮
————————————————————————————————————————
易错点:reason: '-[UITableViewController loadView] loaded the "Xnv-Ot-BAc-view-2Bh-PN-5hY" nib but didn't get a UITableView.'
解决方法:后面跟着的视图拖错了,删除修改即可!
__________________________________________________________
StoryBoard故事版:
//如果一个视图上有多个按钮点击之后都要跳转到同一个界面,此时使用在视图控制器之间建立了segue连线,不过要给这个segue连线加一个标识
//如果只有一个按钮点击后跳转到下一个界面,此时使用按钮和视图控制器之间的连线
//实现button控件中的方法
- (IBAction)handlePush:(UIButton*)sender {
//如果只有一个按钮点击后跳转到下一个界面,此时使用按钮和视图控制器之间的连线
//实现button控件中的方法
- (IBAction)handlePush:(UIButton*)sender {
//通过选择视图控制器的连线 segue ,完成页面之间的跳转
[self performSegueWithIdentifier:@"jj" sender:nil];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
//获取segue起始端的视图控制器对象
RootViewController *rootVC = [segue sourceViewController];
//通过segue完成跳转的时候会触发这个方法,在跳转之前触发,一般用来传值
//获取push过去后的视图控制器对象
DetailViewController *detailVC = [segue destinationViewController];
//把textField中的内容取出来赋值给下一个界面的属性
detailVC.string = rootVC.textField.text;// rootVC.textField.text 相当于 self.textField.text
}
==============================================================
0 0
- ios可视化编程 UI高级 UI_13
- IOS--UI--LessonXib 可视化编程
- UI基础-UI高级 可视化设计
- 17-1 UI高级可视化设计
- IOS UI 高级调试
- UI day 13 Xib可视化编程 storyboard可视化编程
- IOS UI高级学习系列
- ios高级编程相关
- iOS高级网络编程
- iOS网络高级编程
- iOS高级编程 runtime
- IOS UI编程细节
- iOS UI编程细节 .
- iOS UI高级之事件的分发
- iOS之UI高级---触摸事件
- IOS-UI高级之深浅拷贝
- ios-UI高级 多线程部分内容总结
- ios-UI高级 GCD的相关设置
- 【SQL】通配符及转义符
- Windows笔记:dos下命令重命名
- 《剑指Offer》面试题:八皇后问题
- 第113讲:10分钟从技术角度理解Hadoop学习笔记
- Java8的新特新学习
- ios可视化编程 UI高级 UI_13
- U-Boot命令--制作自己的U-Boot菜单(一)
- io_file
- C++编程对缓冲区的理解
- 黑马程序员——OC基础---构造方法
- 关于Gson-2.4(自己犯得错误)
- Unity3D占用内存太大的解决方法
- iOS程序猿如何快速掌握 PHP,化身"全栈攻城狮"?
- Ubuntu下mysql无法重启