IOS Xib使用——为控制器添加Xib文件

  Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑。但是StoryBoard是重量级的,它是用来描述整个软件的多个界面,并且能够展示多个页面之间的跳转关系。在StoryBoard出现之前,一直是使用Xib文件表示界面。当然除了使用Xib文件,也可以直接使用代码来生成界面,无论哪种方式,都各自有自己的优缺点。

  Xib既可以用来表示一个控制器的界面,又可以用来表示不同控制器中的局部的小界面。在本节,主要讲解一下用Xib来表示一个完整的控制器界面。

<一> 什么是Xib文件

  Xib文件就是后缀为xib的文件。选择使用模板创建一个新的工程,工程中就包含一个LaunchScreen.xib文件,这个文件是应用程序的欢迎界面,在里面可以显示图片或者文字。不过这个Xib文件比较特殊,它只是一个单纯的界面,不能为其关联一个类,可就是不能通过代码来设置LaunchScreen.xib文件内容的显示,因为这个欢迎界面是在程序启动之前显示的。

<二> 创建Xib文件

  Xib文件创建的时候是选择User Interface里面的Empty模板创建,当然,如果你想创建一个新的欢迎界面,可以直接选择Launch Screen模板,此外,Storyboard文件也是在这选择。当你选择Empty模板时,默认创建的文件后缀名为xib,也就是xib文件。

<三> 控制器自动添加xib文件

  在创建控制器的时候,会有一个选项,是否选择同时创建xib文件,如果勾选上这个选项,会自动生成三个文件,该类的头文件和源文件,以及xib文件,xib文件中的view就是控制器中的view属性,因此,当前的这个xib文件就是控制器的图形界面,在这里添加控件和通过代码添加效果是一样的。

<四> 控制器手动添加xib文件

如果在创建控制器的时候没有选择同时创建xib文件,而是单独再创建xib文件,就需要按照步骤进行关联。

1、保证创建的xib文件的名字与控制器的名字保持一致。

2、创建的xib文件是一个空文件,需要从xCode右下角的IB拖一个UIView控件到界面上。

3、点击xib文件中的File’s Owner,将它设置为控制器类,也就意味着当前这个xib文件的是属于当前控制器类。

4、将控制器中的view属性与xib中的view进行连线,因为当前的File’s Owner代表的就是控制器,因此就是用File’s Owner与view连线,连线的方式有多种。

连线成功后,会看到右侧属性看到效果。

在创建你的UIViewControler类对象是用下面构造函数:

switchViewController = [[SwitchViewController alloc]initWithNibName:@"SwitchView" bundle:nil]; //@"SwitchView"为你的xib文件名

控制器与xib关联(用xib布局控制器)的更多相关文章

  1. 创建控制器的方法、控制器加载view过程、控制器view的生命周期、多控制器组合

    在介绍四大对象的那篇博客中,可以基本了解到程序启动的过程: main-->UIApplicationMain-->创建UIApplication的实例和app代理AppDelegate的实 ...

  2. **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

    使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...

  3. iOS创建自定义的xib视图,不带控制器调用

    1 我们平常使用视图都是在控制器中加载各种视图,但是有时候一个单独的视图,弄一个控制器未免有些显得太沉重了,所以我们现在来创建一个带xib加载视图的自定义视图 2 创建一个视图类集成uiview 3 ...

  4. ios开发之 -- xib关联自定义view

    在xib下使用自定义的view,因为很多时候,可能幸亏自顶一个view,然后在view里面填充控件,但是需要重写很多无用的 代码,而且很容易出错不说,还很好工作量,使用xib的话,分钟搞定一个view ...

  5. swift之xib关联UIView

    有点坑爹,设置file owner 不行,搞了一早上,来说下怎么关联吧 自定义UIView要重写 required init(coder aDecoder: NSCoder) { super.init ...

  6. 07 (OC)* XIB原理和Xib、storyBoard、代码的优缺点

    1:可读性 2:可视化界面.立马看到 3:开发速度. 4:复用性 5:维护性差 本质 编译时对xml文件做了如下操作1,读取xml文件,生成所有界面对象,生成所有object(即自定义的control ...

  7. iOS彩票项目--第一天,自定义TabBar控制器和自定义TabBar,自定义导航控制器

    一.环境配置,和项目层次搭建 二.自定义TabBar 项目中TabBar中的导航按钮美工给的图片太大,图片中包含了图片和文字.最主要的是TabBar上面的按钮图片尺寸是有规定的,当高度大于44的时候, ...

  8. iOS 导航控制器返回栈中的某一控制器

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  9. Spring MVC(三)控制器获取页面请求参数以及将控制器数据传递给页面和实现重定向的方式

    首先做好环境配置 在mvc.xml里进行配置 1.开启组件扫描 2.开启基于mvc的标注 3.配置试图处理器 <?xml version="1.0" encoding=&qu ...

随机推荐

  1. ios 第三方登录

    ios 第三方登录通常的做法是, 1.登录后,获得第三方的uid,调用服务器登录接口,如服务器返回无此用户,转2,有此用户,转3. 2.服务器返回无此用户,需完善用户资料,如果完成,则在服务器创建与第 ...

  2. mac 下 xampp 多域名 多站点 多虚拟主机 配置

    前言:最近用mac工作了,需要搭建个调试前段程序的站点,选了xampp,需求是能同时运行多个站点,多个域名,目录自定义,网上找了好多资料,都感觉有些不符合心意,且复制文确实很多,甚至有些没实践过的在乱 ...

  3. CentOS 6.5 安装nginx 1.6.3

    使用epel [root@nginx /]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo ...

  4. H5图像遮罩-遁地龙卷风

    (-1)写在前面 这个idea不是我的,向这位前辈致敬.我用的是chrome49.用到的图片资源在我的百度云盘里http://yun.baidu.com/share/link?shareid=1970 ...

  5. 目前主流的Android定位有如下几种:

    1.通过GPS模块 GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电:2,绝大部分用户默认不开启GPS模块:3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间:4,室内几乎无 ...

  6. Android工程文件下assets文件夹与res文件夹的区别

    1.assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中, 2 ...

  7. MongoDB的安全(五)

    MongoDB用户管理操作: MongoDB开启权限认证的方式有两种一种是auth形式,一种是keyfile形式 MongoDB创建用户: 1. 创建用户语法:在MongoDB2.6版本之后使用cre ...

  8. iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除

    首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这 ...

  9. 理解js中this的指向

         学习自原文  http://www.cnblogs.com/pssp/p/5216085.html后的一点小结(原文作者总结的很棒^_^)! 关于js中this的指向,在函数定义的时候还无法 ...

  10. web文件操作常见安全漏洞(目录、文件名检测漏洞)

    做web开发,我们经常会做代码走查,很多时候,我们都会抽查一些核心功能,或者常会出现漏洞的逻辑.随着技术团队的壮大,组员技术日益成熟. 常见傻瓜型SQL注入漏洞.以及XSS漏洞.会越来越少,但是我们也 ...