xib的使用方法

2023-05-16

xib的使用方法

 

有个观念一定要搞清楚,首先xib文件对应的是一个UIView。理解到位后,关于这类问题就是一通则百通。

情况一:

如果在创建控制器时选择了“同时创建xib文件”,如下图所示,则在创建该控制器时,直接使用 alloc] init] 就行了。可以这样理解,通过这种方式创建控制器的同时,创建了一个xib文件用来搭建此控制器的view。因此默认就是将该xib文件与创建的控制器是“绑定的”、“对应起来的”……

情况二:

相对于情况一,那么情况二就是在创建控制器时没有勾选“同时创建xib文件”,然后再通过新建xib文件的方式搭建view界面,如下图所示的创建:

第二种情况下,xcode并不会默认将此xib文件与某个控制器对应起来,哪怕创建xib文件时使用的文件名称与某个控制器的名称是一致的。

因此如何将该xib文件与某个控制器“关联”起来,因为一旦关联起来就跟情况一是一样的了。

主要有两种方式,一种是创建某控制器时使用如下方式,这种方式就是告诉编译器,使用该xib文件对应的view作为某控制器的view:

ImageVC *imageVC = [[ImageVC alloc] initWithNibName:@"ImageDisplayView" bundle:nil];

另一种方式如下,通过NSBundle资源管理类拿到这个view对象,然后将该view对象应用于某控制器中:

UIView *imageShowView = [[NSBundle mainBundle] loadNibNamed:@"ImageDisplayView" owner:nil options:nil].lastObject;
self.view = imageShowView;

不管是使用上述的哪种方式,到这里为止都能让该xib文件显示在某控制器中了。但与情况一的区别就是,如果要将xib文件中的控件或者是控件的事件与某控制器关联起来(连线),还需要进入到xib文件中做如下配置:

第一步:如下图所示,点击File's Owner, 在class那一栏改成你想关联的某控制器的名字,如果这个xib是作为子视图,关联的控制器就是父试图的控制器。

第二步:如果xib是作为自定义的View, 上图中,选中View,修改Custom Class为你自定义的类

第三步:如下图所示关联起来(必须先完成前两步)。如果是自定义的类 按住Control将xib中的控件拉到代码中以生成相应属性

另外如果使用的上述所用的第二种方式,那么接下来还有一个要改,「owner」参数改为该控制器对象:

UIView *imageShowView = [[NSBundle mainBundle] loadNibNamed:@"ImageDisplayView" owner:self options:nil].lastObject;
self.view = imageShowView;

也可以这样用:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xib的使用方法 的相关文章

  • 翻斗式雨雪量计的使用说明书

    概要 本装置为翻斗式温水式雨量计的感应部 口径200mm的接水口内的雨水每达到一定的量 0 2mm或0 5mm 则翻斗翻转 通过簧片开关检测出翻转动作 输出接点脉冲信号 接水器的外筒内封装的调配液 防冻液 水 保持在一定的温度 由此融化落在
  • M35J型多普勒流量计使用说明书

    一 产品原理 产品有三个功能 测平均流速 测水深 测水温 并可显示断面流量 其中水温测量使用温度探头 温度探头不与水接触 紧贴仪器外包装材料顶部 需要置于水底一定时间后才能反映实际水温 测水温的目的是校正超声波在水中的速度 并修正压力传感器
  • 增量本地化如何运作?

    我正在尝试构建我的第一个本地化应用程序 我使用 NSLocalizedString 翻译了代码中的所有字符串 用于genstrings工具 现在我遇到了ibtool 增量本地化如何运作 关于手册页 我应该写这样的内容 ibtool prev
  • 将 NIB 文件转换为 XIB 文件

    有没有办法转换NIB文件到XIB文件以便我可以在 Xcode 4 中打开它们 一旦我编辑了它们 有没有办法将它们转换回NIB 一旦 nib 文件被扁平化和剥离 现在这是编译过程的默认部分 那么在 IB 中打开它就很困难 您可能想看看笔尖解锁
  • Xcode“-[UIViewController _loadViewFromNibNamed:bundle:] 加载了笔尖,但未设置视图出口。”错误

    我正在使用 Xcode 4 当我运行我的应用程序时 第一个屏幕无法加载 它在模拟器和设备上失败 我已经搜索了答案 他们都说要确保我已将文件所有者中的圆圈拖动到正确的视图 抱歉 我不记得这些东西的名称了 我是 Xcode 新手 我已将圆圈拖动
  • 在 Xcode 5.0.1(更新的 xcode 6)中为 3.5、4.0(更新的 4.7 和 5.5)英寸屏幕开发相同的 UI,无横向、无 iPad 和故事板

    我开发了应用程序 考虑使用 xib 文件而不是故事板的 3 5 英寸 我无法找到任何教程或指南来帮助我设计适用于所有屏幕的类似应用程序 我使用的是 Xcode 5 0 1 我只开发没有自动布局的普通应用程序适用于 iOS 6 和 iOS 7
  • 向 UIView 添加宽度边框,显示外面的小背景

    我正在尝试添加圆形边框UIView以绿色背景 我创建了简单的UIView具有 borderWidth cornerRadius 和 borderColor 属性的子类 我从故事板中设置它 IBDesignable class Rounded
  • 如何使用 XIB 制作自定义 MKAnnotationView

    我想要一个自定义 MKAnnotationView 我在 IB 中创建了一个 xib 文件并将其类设置为 MyAnnotationView class MyAnnotationView MKAnnotationView override i
  • xcode Storyboard - ibtoold 解档异常

    例外的是 CompileStoryboard Catwall en lproj MainStoryboard storyboard cd Users guvenozyurt Desktop git catwall ios setenv IB
  • 从 XIB 文件按钮显示 ViewController - Swift

    有没有办法segue from a xib file 自定义 TableViewCell 到另一个视图控制器在 Main storyboard 中 不可能像在主故事板中那样拖动转场 在单元格中我有一个按钮 我想从那里更改视图 我该如何解决
  • 如何从 UIView 类的 xib 文件导航到 ViewController

    我的 xib 文件中有一个包含按钮的视图 当我按下按钮时我想移动到 ViewController IBAction 我使用了下面的代码 let storyBoard UIStoryboard UIStoryboard name Main b
  • Storyboard 和 xib 在同一项目中使用

    我对 Objective C 中的类如何工作的理解可能是一个根本性的误解 我正在使用故事板 但在这个应用程序中 我想为我的视图控制器之一上的文本字段创建一个简单的自定义日期选择器视图 但是 我似乎在从视图控制器访问日期选择器类的任何属性时遇
  • 如何在 HomeVC 中快速赋予 xib 单元按钮操作

    我已经创建了 xib collectionview 单元 并且我能够在 HomeVC 中使用它的所有值 如下所示 class HomeVC UIViewController UICollectionViewDelegate UICollec
  • 将 XIB 中的按钮链接到 Storyboard 中的视图控制器

    我有一个 XIB 视图控制器 里面有一个按钮 我还有一个 storboard 视图控制器 我想知道是否有一种方法可以将 xib 视图控制器中的按钮链接到故事板视图控制器 简短的回答 不 不使用界面生成器 不过你可以用代码来完成 实例化两个视
  • .xib 文件中的多语言标签更改。

    我必须将应用程序开发为四 4 种语言 英语 法语 斜体 西班牙语 因此 为此我想知道是否有任何方法可以仅使用一个 1 来显示不同的语言数据 xib file在顶部栏中 Example 我有Setting xib xib 文件 其中有四个标签
  • iOS - 如何使用 NIB 中的特定框架初始化自定义 UIView

    我想知道初始化自定义的最干净的方法是什么UIView具有特定的框架 The UIView是由一个设计的XIB file 这是我的实现 class CustomView UIView IBOutlet var outletLabel UILa
  • 从 XIB 文件过渡到 Storyboard

    我目前有一个使用 XIB 的 XCode 项目 并且想开始使用 Storyboard 有没有好方法将我的 XIB 文件移动到 Storyboard 中 您可以一次对一个视图控制器手动执行此操作 从 xib 复制视图 c 转到故事板并在其中创
  • 为 UIView 子类加载 Nib 的正确方法

    我知道这个问题以前曾被问过 但答案是矛盾的 我很困惑 所以请不要攻击我 我想要一个可重复使用的UIView整个我的应用程序的子类 我想使用 nib 文件来描述界面 现在假设它是一个加载指示器视图 其中有一个活动指示器 我希望在某些事件中实例
  • 如何在 xcode 6 (swift) 中创建没有情节提要的项目?

    任何人都可以练习在 xcode6 swift 中创建没有故事板的项目吗 我有能力实施 func application application UIApplication didFinishLaunchingWithOptions laun
  • 如何将使用 XIB 的项目转换为 Storyboard?

    我在使用包含导航控制器的 TabBarViewControllers 的项目中有一些复杂的 XIB 文件 从 Xcode 4 2 开始 我无法再有效地编辑这些 XIB 文件 包含的视图控制器是不可见的 仅表示为灰色框 似乎在故事板项目中这是

随机推荐

  • 树莓派——xrdp win10远程登录以及蓝屏问题

    1 安装xrdp 使用Putty命令行输入以下命令 sudo apt get install xrdp sudo apt get install tightvncserver xrdp 安装完成后 xff0c 重启xrdp服务器 sudo
  • 使用lnmp安装Nextcloud出现404问题解决方法

    最新消息 特大消息特大消息 xff0c 由于答主解决不了后续出现的WEBDAV接口错误问题 xff0c 因此更改了安装方式 61 61 61 61 61 DOCKER xff01 装完之后感慨一下 xff0c docker大法真好 参考教程
  • 笔记:1. Centos 安装 mpicc

    心情 xff1a 历时一年 xff0c 考上了研究生 xff0c 从此踏上第一性原理计算的道路 是有点小开心 xff0c 因为以后可以做自己喜欢的事情 xff0c 剩下的就是怎么通过做自己喜欢的事挣点钱 xff0c 养活自己 正文 目的 x
  • 【Java】对两个Set取交集,差集,并集

    1 取交集 xff08 取两个集合中都存在的元素 xff09 HashSet lt String gt setA 61 new HashSet lt gt HashSet lt String gt setB 61 new HashSet l
  • nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案

    由于断电 xff0c 服务器重启了 xff0c 当再次跑实验时 xff0c 发现cuda不可用 xff0c 于是输入 nvidia smi 才发现了一个错误 xff0c 如下 xff1a NVIDIA SMI has failed beca
  • 【Linux】Debian的下载、安装、图形化界面,多图杀猫

    Linux的版本众多 xff0c 同时相对于非专业用户少见 不像Windows系统那样大众 xff0c 稍微有些知识都知道 xff0c 配置低一点的机器就选择Windows XP Professional SP3 xff0c 搞Asp的用W
  • 【iOS】表视图

    iOS的表视图并不简单 xff0c 它是需要修改 h中加两个委托进去 xff0c 同时在 m文件实现一系列固定的函数 xff0c 才能完成表视图的创建 一切犹如当初点击空白处关闭键盘需要一段代码才能实现一样 xff0c 表视图的创建也不像安
  • win10+anconda+tensorflow安装

    最近由于需要用到深度学习 xff0c 经过一番调研发现tensorflow依旧是工业界模型实现的主流框架 xff0c 于是自己尝试安装tensorflow 原以为直接采用pip就可以直接搞定 xff0c 只能怪自己太天真 xff0c 刚开始
  • Ubuntu 19.04编译Android源码缺少libtinfo.so.5问题

    Ubuntu 19 04 Manjro编译Android Pie源码缺少libtinfo so 5问题 背景 使用ubuntu19 04编译Android源码的时候 xff0c 报缺少libtinfo so 5 解决方法 通过find命令查
  • shell编程的控制结构及其if语句

    控制结构 shell具有般高级程序设计语言所具有的控制结构和其他复杂功能 xff0c 如if语句 case语句 循环结构 函数等 其实在shell 中 xff0c 这些控制结构也被称为命令为了符合程序设计的习惯 xff0c 才把它们称为语句
  • 快速给图片加水印的方法

    快速给图片加水印的方法 xff01 图片添加水印后可以杜绝图不被别人随意使用 xff0c 能保护自己的知识产权不被侵犯 xff0c 所以我们在工作中经常先给图片添加水印 xff0c 然后再将图片对外发布 xff0c 这是一个比较常见的事情
  • OpenCvSharp 棋盘格标定助手

    使用的是VS调用OpenCvSharp资源库进行一个Winform操作界面编写 xff0c 网上找了很多开源的程序 xff0c 发现根本用不了的 xff0c 用的时候还需要你配置各种电脑系统变量 xff0c 显得好麻烦 现在弄了个简单的标定
  • 最长回文子串(Manacher算法)

    又是刷OJ的一天 上题 题目描述 xff1a JiangYu有一个长度为n的仅包含小写字母的字符串 他想找出其中最长的回文子串 输入 xff1a 一个字符串s xff0c s 1e6 输出 xff1a 一个整数 xff0c 最长回文子串长度
  • ubuntu下安装memcached时解决缺少sasl.h的问题,同时说明下ubuntu的包搜索

    只需要用 xff1a sudo apt get install libsasl2 dev 即可 xff0c 这和centos有一些区别 xff0c 貌似并不是它 xff1a cyrus sasl dev 在安装某个软件的时候 xff0c 我
  • Ubuntu在安装NVIDIA驱动后黑屏无法启动进入图形桌面

    问题描述 安装完nvidia驱动 xff0c 重启后后会卡在一个左上角只有一个横杠的黑屏界面 xff0c 无法进入GNOME的图形化界面 问题分析 反复回忆当时的安装过程 xff0c 想起来在tty下完整运行时它问过我这么一个问题 xff1
  • nvidia-smi命令输出结果缓慢问题

    nvidia smi命令输出结果缓慢问题 xff0c 可能的原因和解决办法 xff1a 1 当前已经打开了节能模式 xff08 需要关闭节能模式 xff0c 切换到持久模式 xff09 如何关闭节能模式 xff1a 方法1 xff1a su
  • vite中引入插件报错记录,1此模块是使用 “export =“ 声明的,2无法找到模块“XXX”的声明文件具有隐模式any类型

    1 xff0c 此模块是使用 export 61 声明的 在tsconfig node json中 xff0c compilerOptions下添加 34 allowSyntheticDefaultImports 34 true 34 co
  • mysql-workbench 强制使用SSL 解决办法

    来自 xff1a https www cnblogs com lystory p 15608828 html 最新版本的mysql workbench xff0c 新建连接时 xff0c 强制使用SSL 如果SERVER不支持怎么办 xff
  • Linux(centos)系统各个目录的作用详解

    文件系统的类型 LINUX有四种基本文件系统类型 xff1a 普通文件 目录文件 连接文件和特殊文件 xff0c 可用file命令来识别 普通文件 xff1a 如文本文件 C语言元代码 SHELL脚本 二进制的可执行文件等 xff0c 可用
  • xib的使用方法

    xib的使用方法 有个观念一定要搞清楚 xff0c 首先xib文件对应的是一个UIView 理解到位后 xff0c 关于这类问题就是一通则百通 情况一 xff1a 如果在创建控制器时选择了 同时创建xib文件 xff0c 如下图所示 xff