iOS学习之UI可视化编程-XIB

一、Interface Builder可视化编程

  1、Interface Builder简介:

  • GUI:图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
  • Interface Builder(IB):是Mac OS X 平台下用于设计和测试图形用户界面的应用程序。代码和IB都可以生成GUI。
  • 优势:IB能够使开发者简单快捷的开发出符合Mac系列操作系统的GUI。通常只需要通过简单的拖拽操作来构建GUI。IB使用Nib文件储存GUI资源,在需要的时候,Nib文件可以被快速的载入内存。

  2、iOS可视化编程

  • iOS下可视化编程分为两种方式:xib和storyBoard。
  • 在使用xib和storyBoard创建GUI过程中,以XML文件格式存储在Xcode中,编译时生成nib的二进制文件。在运行时,nib文件被加载并且开始创建和实例化GUI元素。

二、xib简单实用

  1、.xib创建

  • xib通常以关联方式出现在工程文件中,即在被创建时是伴随一个类(UIKIT框架下的类)诞生的。如图所示:
  • 关联xib后,视图控制器独有的初始化方法:
    // 创建视图控制器,给window指定根控制器
    // 程序编译时会将xib文件编译成nib的二进制文件,运行时加载nib文件
    // nibName:当前控制器相关联的nib文件,如果写为nil,默认查找和控制器名相同的文件名,但是如果xib文件与控制器名不相同,则查找不到。
    // bundle:获取程序的资源路径,如果写为nil,默认是主路径,因为iOS只有一个主路径,在mac端开发时必须写。
    self.window.rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]];
  • 创建好后.xib文件的样式

  2、控件关联

  • 在可视化编程中,功能部分仍然需要依赖于代码,所以我们需要将控件和代码相关联起来。
  • 插座变量:用于IB中的UI控件。
  • IBOutlet:外联指针,连接插座变量和IB中的UI空间。
  • 设置:选中控件,按住control,向接口部分中拖拽,即可关联。
  1. Connection:拖拽之后创建的类型(属性、方法、集合属性)。
  2. Object:绑定的对象。
  3. Name:方法名或者属性名字。
  4. Type:控件类型。
  5. Storage:控件的内存修饰参数。

  3、事件关联

  • 动作:用于响应UI控件的触发事件。IBAction,连接方法和IB中的UI控件。
  • 设置:选中控件,按住control,向原类接口部分或者实现部分中拖拽,设置响应方法。
  1. Name:方法名。
  2. Type:方法中的参数类型。
  3. Event:触发方法的方式。
  4. Arguments:方法中携带的什么样的参数。

  4、代理设置

  • File‘s owner:文件的拥有者,即视图控制器。
  • 设置:右键单击控件,连接代理变量和File‘s owner。

三、xib绘制单元格

  1、自定义单元格

  • 自定义单元格指的是UITableView的自定义cell。
  • 通过xib可以快速的绘制cell。
  • 新建UITableViewController子类,设置为根视图控制器。
  • 新建一个UItableViewCell子类,勾选Also create XIB file。
  • 设置cell的重用标识符
    // 注册cell
    [self.tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:identifier_cell];
    // 返回cell
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier_cell forIndexPath:indexPath];
    return cell;
}

四、自动布局

  1、自动布局

  • 自动布局:autoLayout,不给View固定的位置,通过某些规则让View自己适应自己的位置。
  • 自动布局中常用的四个选项

  2、Stack

  • UIStackView,可以管理多个视图。一次性为多个视图进行约束设置。
  • Axis:子视图排布方向。
  • Alignment:子视图对齐方式。
  • Distribution:分布方式。(调整StackView的大小,切换选项观察)。
  • Space:子视图的最小间距。

  3、Align

  • Align,设置视图的对齐方式。
  • Leading Edges:左对齐。
  • Trailing Edges:右对齐。
  • Top Edges:上对齐。
  • Bottom Edges:下对齐。
  • Horizontal Centers:纵向中心对齐。
  • Vertical Centers:横向中心对齐。
  • BaseLines:基线对齐。
  • Horizontally in Container:以屏幕的纵向中心线对齐。
  • Vertically in Container:以屏幕的横向中心对齐。
  • 两者结合使用可以让View的中心点和屏幕中心点对齐。

  4、Pin

  • Pin:设置视图的尺寸相关属性。
  • 上面的四个方向的设置尺寸代表距离四个方向的最近的视图的距离。
  • 如果对应方向没有视图,则视为对应的屏幕方向的距离。
  • Constrain to margins选项表示是否留下20个点的位置。
  • Width:视图的宽度。
  • Height:视图的高度。
  • AspectRatio:设置宽高比。
  • 当选中一个以上的视图个数:
  • Equal Width:两个视图等宽。
  • Equal Height:两个视图等高。

  5、Resolve Auto Layout Issues

  • Resolve Auto Layout Issues:解决自动布局的问题。
  • Selected Views:选中的View,不包含子视图。
  • All Views in View:选中的View,包含子视图。
  • Update Frames:更新位置信息。
  • Update Constraints:更新约束信息。
  • Add Missing Constraints:忽略约束不足的错误。
  • Reset to Suggersted Constraints:重置被建议的约束。
  • Clear Constraints:删除所有的约束。
时间: 2024-07-28 22:53:07

iOS学习之UI可视化编程-XIB的相关文章

iOS学习之UI可视化编程-StoryBoard

一.StoryBoard与xib 对比: 相同点:都属于IB编程的方式,可以快速构建GUI. 不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyboard侧重于多页面关联.storyboard可以直观的梳理出页面间的逻辑,并且所有页面跳转逻辑均可在-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender:方法完成,方便界面间数据统一管理. 注意事项:在AppDelegate的-application:d

iOSDay32之UIKit框架-可视化编程-XIB

1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显示的计算机操作用户界面. Interface Builder (简称IB) : 是MAC OS X 平台下用于设计和测试图形用户界面 (GUI) 的应用程序.代码 和 IB 都可以生成 GUI. 优势: IB 能使开发者简单快捷的开发出符合Mac系列操作系统的GUI.通常你只需要通过简单的拖拽操作来构建U

IOS学习笔记之 Socket 编程

本文转载至 http://www.tuicool.com/articles/RNFRva 时间 2014-12-07 12:48:00  博客园-原创精华区原文  http://www.cnblogs.com/chengzi/p/4149242.html 最近开始静心学习IOS编程,虽然起步有点晚,但有句话说的好:“如果想去做,任何时候都不晚”.所以在今天,开始好好学习IOS.(本人之前4年都是搞.Net的,java也培训过一年) 打算学IOS,从哪入手呢?给大家推荐两本入门书吧<Beginni

iOS学习之UI自定义cell

一.自定义Cell 为什么需要自定义cell:系统提供的cell满足不了复杂的样式,因此:自定义Cell和自定义视图一样,自己创建一种符合我们需求的Cell并使用这个Cell.如下图所示的这些Cell都是通过自定义Cell样式实现的: 自定义Cell的步骤: 1.首先创建一个继承于UITableViewCell的类:(这是一个简易的通讯录的自定义cell) @interface RootTableViewCell : UITableViewCell // 联系人头像 @property (non

ios学习记录 day44 UI20 Storyboard 高级可视化编程 + 单例

可视化编程 : 5.0之前 xib  5.0之后 Storyboard 注意事项:1.在AppDelegate中不用代码初始化一个window   2.在general  设置 Main Interface(创建的时候自动设置的) weak可以指向 但是没有拥有权   strong有拥有权 单例特性: 1.唯一性  创建的对象永远指向同一块内存地址     2.不释放   从打开程序到后台关闭 对象都不释放 单例安全:加锁@synchronized  防止同一块内存被创建两次,破坏唯一性 //单

UI学习笔记---第十三天可视化设计 XIB, StoryBoard

一.XIB Xib是一种苹果提供的快速构建界面的编程方式,主要是为了简化MVC中的V的构建 Xib提供可视化的编辑界面,能大大提升页面布局效率 Xib常用操作 为控件关联事件 为空间指定delegate 为控件关联实例变量或者属性 二.StoryBoard的使用 StoryBoard的注意事项 在AppDelegate的-application: didFinishLaunchingWithOptions: 的方法中不要再用代码初始化一个window 将创建好的StoryBoard在应用程序配置

XIB可视化编程

1.xib可视化编程只提供一个UI界面,创建新的类的时候勾选生成xib文件,就会生成对应的xib文件,xib GUI:图形?用户界?面(Graphical User Interface,简称 GUI,?又称图形?用户接?口)是指采?用图形?方式显?示的计算机操作?用户界?面. Interface Builder(简称IB):是Mac OS X平台下?用于设计和测试图形?用户界?面(GUI)的应?用程序.代码和IB都可以?成GUI. 优势:IB能够使开发者简单快捷的开发出符合Mac系列操作系统的G

xib Nib IB 可视化编程详解

Xibs 简单的说,Xib就是拖控件编程,也可以说是可视化编程.相对于代码,使用IB和xib文件来组织UI,可以省下大量代码和时间,从而得到更快的开发速度.如果你曾经受到过微软家Visual Basic或者其他Visual系的可视化界面的荼毒与残害,因此怀疑Interface Builder的纯正血统和工作能力,建议可以看看这些资料以纠正三观:Jean-Marie Hullot的Interface Builder神话以及西装革履的青涩乔帮主在NeXT时亲手用IB构建应用(需要翻墙).另外,不妨打

IOS开发用户界面UI编程视频教程

在这个拼颜值的时代,App必须要华丽丽的闪亮登场,IOS UI设计成为iOS开发中必须熟练掌握的内容,可以说iOS开发的70%以上的工作量都花在iOS UI界面上,该阶段内容包括:iOS项目程序结构.生命周期.事件周期.视图View.各种视图组件.各种视图控制器.动画等. IOS开发用户界面UI编程视频教程(某学堂出品)课程目录:01-第一个UI程序02-视图创建03-父子视图04-UILabel标签05-Frame与bounds的区别06-UIButton按钮的使用07-UIImageView