xib和storyboard都可以建立应用程序的视图。他们的主要区别在于,xib用于创建应用程序的局部视图,storyboard用于创建应用程序的整体视图。

xib是storyboard的前身。

xib文件的加载,可以通过Bundle完成。

例如:NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"AppInfoView" owner:nil options:nil];

该语句会将名为AppInfoView的xib文件中定义的所有的第一级控件,按照xib文件中控件添加的顺序,全部加载,并返回一个控件数组。

例如 AppInfoView文件的结构如图

则返回的控件数组中包含的元素有View、Round Style Text Field、Button - Button。即第一级的控件。

在引用xib中的控件时,可以根据控件的tag属性,例如取出第一个元素View

UIView *appView = [appinfonib firstObject];

View中有3个控件,如果想使用View中的Label控件, 则首先将Label的tag属性设置一个值,例如3.

则可以通过下面的语句,引用Label控件。

UILabel *appname = (UILabel *)[appView viewWithTag:2];

xib使用的更多相关文章

  1. xib文件的加载方法

    xib文件的加载方法 以UITableViewCell的cell为例 很多时候因为系统的cell无法满足我们的日常需求,我们都会自定义cell 因为cell的界面比较固定,所以通常都会选择用xib来描 ...

  2. iOS Interface Builder:在.xib文件中加载另一个.xib文件

    在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中.那么提取出的.xib如何在其他.xib ...

  3. XIB——AutoLayout添加约束

    仿QQ登录界面: 说明:以下各图背景红色只是方便看清楚: 1.创建工程:创建xib文件,不会,可看上上上篇:初识xib: 2.打开xib文件: (1).创建头像: 拖控件:uiimageview--& ...

  4. TTTAttributedLabel xib sb lineSpacing not working

    https://github.com/TTTAttributedLabel/TTTAttributedLabel/issues/733 set the same text in storyboard ...

  5. 使用xib封装一个view的步骤

    1.新建一个xib文件描述一个view的内部结构(假设叫做SSTgCell.xib) 2.新建一个自定义的类 (自定义类需要继承自系统自带的view, 继承自哪个类,  取决于xib根对象的Class ...

  6. Storyboard & XIB 自己的理解

    //1.storyboard //(1) //此处bundle:nil 等价于 [NSBundle mainBundle] //    SecondViewController *secondVc = ...

  7. iOS 使用xib后获取view的frame出错的问题

    如果控制器使用xib做的,在viewDidLoad方法中获取的view.frame是不正确的 这根xib的加载有关, 可以把需要做的事情写在viewWillAppear中就能解决

  8. XIB 上的控件不显示怎么办

    原文:http://www.cnblogs.com/sandyzhang/p/5660061.html   午休时间遇到有人求助:说是XIB 上内容都有的,但是看不到,demo 运行的话控件都存在的. ...

  9. 在xib中用KVC修改控件属性

    比如我们想在xib 中设置按钮的圆角,这样的话我们就可以在xib文件中进行修改,具体操作如下 实现效果,如下

  10. IOS开发之Bug--使用xib的自动布局和代码中修改遇到的bug

    首先,在xib中约束了宽高22,但是需要代码动态重设,所以一开始如下设置,但是实际显示的仍然是22,而不是重设的值: 然后直接拿xib的将布局约束对象拖线重新通过代码重设约束值,虽然打印的结果宽高值是 ...

随机推荐

  1. 教你怎么"白嫖"图床

    本次白嫖适用于有自己域名的. 访问 又拍云,注册 注册好后,访问又拍云联盟 按照说明申请即可 结束 静等通过即可,经过我与又拍云联系核实他们审核通过都会在每周五的下午18:00统一发送审核结果邮件通知 ...

  2. jenkins结合cygwin软件实现从centos发布代码rsync到windows server2019的过程

    jenkins结合cygwin软件实现从centos发布代码rsync到windows server2019的过程 1.下载cygwin这个软件打开https://cygwin.com/install ...

  3. 关于JAVA的一些零碎小知识

    1.经常遇到集合之间需要互相转化的 Array和List转化:Arrays.asList(数组):list.toArray(); List和Set转化:Set<String> set = ...

  4. netty之handler read

    有时候会有一系列的处理in的handler,使用fireChannelRead处理传递 转载自https://blog.csdn.net/u011702633/article/details/8205 ...

  5. Java多线程--公平锁与非公平锁

    上一篇文章介绍了AQS的基本原理,它其实就是一个并发包的基础组件,用来实现各种锁,各种同步组件的.它包含了state变量.加锁线程.等待队列等并发中的核心组件,现在我们来看一下多线程获取锁的顺序问题. ...

  6. python3-day5

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  7. STM32的CCM RAM

    STM32F407ZGT6的Flash大小为1MB,SRAM大小为(128KB+64KB). 这里SRAM之所以分开表示是因为在芯片内部前面的128KB和后面的64KB地址不是连续的,后面的64KB在 ...

  8. 08 . Jenkins之SpringCloud微服务+Vue+Docker持续集成

    简介 大致流程 /* 1.开发人员每天把代码提交到Gitlab代码仓库 2.jenkins从gitlab中拉取项目源码,编译并打包成war包,然后构建Docker镜像,将镜像上传到Harbor私有仓库 ...

  9. IDM下载度盘文件

    百度网盘是百度公司推出的一款个人云服务产品.百度网盘官方版操作简单,我们打开后就可以使用该软件来上传.下载文件等.不仅如此百度网盘软件还可以批量上传文件.支持断点传续等功能,重要的是上传的文件不会占用 ...

  10. 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结

    020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...