ios可视化编程 UI高级 UI_13

简介: 一、简单的说,IB Xib就是拖控件编程,也可以说是可视化编程(所见即所得),使用Xib编程,相对于纯代码,可以省下大量的敲代码时间,从而提高程序的开发时间,Xcode  4 之后才可以在工程中直接使用xib编程;  使用xib编程只是减轻了MVC中的V设计的工作量,学好Xib有助...

一、简单的说,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.查看和控件相关联的属性或者是方法、或者代理,或者是它所遵循的一些协议
 file's owner  : 指当前xib文件中View所属于的视图控制器,此时view代表这个试图控制器的根视图
//这个方法是视图控制器的指定初始化方法
//如果不给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 {

    //通过选择视图控制器的连线 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
}
==============================================================

目录
相关文章
|
3月前
|
设计模式
二十三种设计模式全面解析-桥接模式的高级应用:构建灵活的跨平台UI框架
二十三种设计模式全面解析-桥接模式的高级应用:构建灵活的跨平台UI框架
|
11月前
高级UI系列(四) 扩展TextView 边角Drawable实战篇
高级UI系列(四) 扩展TextView 边角Drawable实战篇
59 0
高级UI系列(四) 扩展TextView 边角Drawable实战篇
|
11月前
|
XML Java API
高级UI系列(三): 自定义UI动画篇
高级UI系列(三): 自定义UI动画篇
97 0
高级UI系列(三): 自定义UI动画篇
|
11月前
|
XML 存储 前端开发
高级UI系列(一): 自定义UI理论篇(2)
简介: 自定义view是区分中级开发和初级开发的分水岭,虽说今年校招,工作三四年的老程序员一直在劝退客户端,作为职场打拼多年的老菜鸟,对android还是挺有信心的,虽说对view的知识也只是停留在纸上,很少真正落地做一些复杂高性能的ui控件,之前在akulaku确实见识了一群技术大牛,高级ui控件伸手就来,让我羡慕不已,这一次我也从基础到源码再到实战开始写几篇自定义view教程。大家有什么好的见解也欢迎到评论区多多交流。
124 0
高级UI系列(一): 自定义UI理论篇(2)
|
11月前
|
XML 程序员 Android开发
高级UI系列(一): 自定义UI理论篇(1)
自定义view是区分中级开发和初级开发的分水岭,虽说今年校招,工作三四年的老程序员一直在劝退客户端,作为职场打拼多年的老菜鸟,对android还是挺有信心的,虽说对view的知识也只是停留在纸上,很少真正落地做一些复杂高性能的ui控件,之前在akulaku确实见识了一群技术大牛,高级ui控件伸手就来,让我羡慕不已,这一次我也从基础到源码再到实战开始写几篇自定义view教程。大家有什么好的见解也欢迎到评论区多多交流。
110 0
高级UI系列(一): 自定义UI理论篇(1)
|
11月前
|
算法
高级UI(二): 触摸反馈
触摸反馈应该是自定义view最简单的部分了,不过内部的原理是比较复杂的,去了解里面的核心机制,需要自己去阅读源码,才能更好理解整个触摸机制,当然,知其所以然也是远远不够的,下面我就带大家了解自定义view触摸机制的难点重点
87 0
高级UI(二): 触摸反馈
|
机器学习/深度学习 安全 测试技术
阿里云EMAS-专家测试服务iOS和Android上百种机型性能、兼容及UI等测试
阿里云EMAS测试专家有着集团内部多个日活过亿规模APP经验,提供EMAS专家测试,客户只需提交测试需求,从用例设计、脚本录制、海量机型测试、整理测试结果、48小时输出专家测试报告均由阿里云EMAS测试专家一站式服务完成。覆盖功能测试、深度兼容测试、性能测试、UI适配测试以及隐私合规检测等,帮助用户以更低成本获得高质量的全面测试能力,可用于APP正式发版前验收,规避手机APP上线前或发版过程中各类隐患。
388 0
阿里云EMAS-专家测试服务iOS和Android上百种机型性能、兼容及UI等测试
|
存储 jenkins 测试技术
iOS UI 自动化测试原理以及在 Trip.com 的应用实践
笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。从而,笔者更深入地研究了 iOS 平台下的自动化测试技术,目前也在负责部门 App 自动化测试平台的搭建和维护。故想借这篇文章一并将所踩过的坑以及学习到的技术,系统且全面地整理出分享给大家。
317 0
|
iOS开发
iOS开发UI篇 - Quartz 2D简单使用
iOS开发UI篇 - Quartz 2D简单使用
iOS开发UI篇 - Quartz 2D简单使用
|
Java 测试技术 API
Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解
Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解
177 0
Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解