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的使用方法 的相关文章

  • Verdi使用方法(2)— 高效对比两个波形

    Verdi使用方法 xff08 2 xff09 高效对比两个波形 一 打开第一个波形 直接使用如下命令打开一个波形 xff1a verdi tb1 fsdb 加载需要的信号 二 新建一个容器 点击 Window gt Dock to gt
  • 翻斗式雨雪量计的使用说明书

    概要 本装置为翻斗式温水式雨量计的感应部 口径200mm的接水口内的雨水每达到一定的量 0 2mm或0 5mm 则翻斗翻转 通过簧片开关检测出翻转动作 输出接点脉冲信号 接水器的外筒内封装的调配液 防冻液 水 保持在一定的温度 由此融化落在
  • 河道堤防GNSS位移监测系统

    一 方案背景 我国河系众多 海岸线漫长 在江边 河边 海边修筑修筑着几万公里的提防设施保卫着沿江 沿海居民的生命安全 也保卫着经济发展的累累硕果 近年来 因台风暴雨造成河道堤坝决堤 产生的经济损失越来越大 各对方对防洪堤 海堤的安全检查要求
  • 土壤含水量仪的监测方法

    土壤含水量监测仪对土壤内部水分含量情况进行监测 可实现对灾害隐患点土壤含水量的长期实时监测 仪器主机采用低功耗设计 工作功耗可达毫瓦级 根据滑坡隐患点的特点 仪器主机采用多通道设计 可根据实际情况接驳1 4路土壤含水量传感器对监测点不同深度
  • Xcode 4 和 Interface Builder:编辑垂直间距约束(锚定顶部,而不是底部)

    我有一个小部件在设备上未正确布局 其looks在 IB 中还可以 但不太正确 该小部件是一个标签 位于屏幕中间 Interface Builder 为其提供了带有 底部锚点 的垂直空间约束 在这里 底部意味着屏幕的底部 而不是下面的小部件
  • 一个xib,几个子类

    我有一个用于自定义 UIView 子类的 xib 文件 工作正常 我能够加载正确的 nib 并创建我的类的实例 它包含我添加到 xib 文件中的所有子视图 但是 我也对该视图进行了子类化 但我不知道如何创建此类的实例并让它使用父类使用的 x
  • 在 xcode 8.3 中创建仅 XIB 的 Cocoa 项目

    我正在尝试在 XCode 8 3 中创建基于 XIB 的应用程序 但 在没有故事板的情况下启动项目 的选项已被删除 以下是我设置项目所采取的步骤 创建一个新的 Cocoa 应用程序 删除主故事板 删除ViewController swift
  • 如何在 UIView 中加载 xib 文件

    我一直在到处寻找 但到目前为止没有任何对我有用的东西 基本上我想要一个名为 rootView xib 的 xib 文件 在其中我想要一个 UIView 让我们称之为 containerView 它只占据屏幕的一半 所以会有常规视图和新视图
  • 如何在 Cocoa Mac 中以编程方式关闭窗口?

    如何以编程方式关闭 cocoa mac 中的窗口 我使用按钮单击从第一个窗口 xib 打开了第二个窗口 xib 我需要在打开或单击按钮时以编程方式关闭第一个窗口 xib 我怎样才能做到这一点 Apple 有一些有用的示例代码笔尖装载 htt
  • 没有 MainMenu.xib 的 Cocoa 应用程序

    对于 iOS Cocoa Touch 可以转到 main m 并替换其中的第四个参数UIApplicationMain int argc char argv nil nil 与您的应用程序委托的类名 然后它将根据需要构造视图 然而 Coco
  • 如何添加新的 xib 文件

    我必须开发一个具有多个屏幕的应用程序 我已经自动生成了 xib 文件 但对于我的另一个屏幕 我需要另一个 xib 文件 如何创建另一个 xib 文件 假设 XCode 4 在 文件 gt 新建文件 菜单对话框中 有一个名为 用户界面 的小节
  • 从 XIB 到故事板

    我有一个带有故事板和一个 xib 窗口的应用程序 从情节提要到 xib 我以这种方式移动 ShowDreamNIBController detailViewController ShowDreamNIBController alloc in
  • 从 XIB 文件过渡到 Storyboard

    我目前有一个使用 XIB 的 XCode 项目 并且想开始使用 Storyboard 有没有好方法将我的 XIB 文件移动到 Storyboard 中 您可以一次对一个视图控制器手动执行此操作 从 xib 复制视图 c 转到故事板并在其中创
  • 来自应用程序的新 NSWindow - 不可能完成的任务?

    好吧 我做错了什么 1 创建了cocoa app和appDelegate 命名为 window2AppDelegate2 窗口AppDelegate h import PrefWindowController h interface win
  • 如何在 xcode 6 (swift) 中创建没有情节提要的项目?

    任何人都可以练习在 xcode6 swift 中创建没有故事板的项目吗 我有能力实施 func application application UIApplication didFinishLaunchingWithOptions laun
  • 在 OS X El Capitan 上将项目迁移到 Xcode 7.2 会破坏构建

    我之前使用 Xcode 7 1 运行 OS X Mavericks 我刚刚更新到 OS X El Capitan 和 Xcode 7 2 我的应用程序在模拟器和设备上正常启动 没有任何类型的故事板警告 现在 我看到一堆关于故事板中缺少约束的
  • 从 Storyboard 转到 XIB

    我有一个故事板视图控制器 它是我的应用程序中的第一个屏幕 该应用程序的其余部分是使用 xib 设计的 我想从故事板 VC 中的按钮转到 XIB 文件 我知道如何从 xib 到故事板执行此操作 但是这个怎么样 提前致谢 从 xib 到故事板
  • Cocoa - 在另一个 xib 上显示 xib

    谁能告诉我如何 或指导我有关信息 在另一个 xib 笔尖 上显示 xib 笔尖 我希望如何放置它 以便我可以以编程方式将它移动到主笔尖 就像这样 这显然不起作用 void drawRect NSRect dirtyRect NSRect c
  • 如何从 Xib 文件加载自定义 UITableViewCell?

    问题很简单 如何加载自定义UITableViewCell来自 Xib 文件 这样做可以让您使用 Interface Builder 来设计您的单元 由于内存管理问题 答案显然并不简单 这个线程 https stackoverflow com
  • “同时创建 xib 文件”按钮已禁用

    我在创建时遇到这个问题UIView s子类 创建 例如 UIViewControllers or UITableViewCells没关系 为什么会出现这种情况 I create view using cmd N and Xcode Vers

随机推荐

  • 树莓派——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