iOS自学笔记之XIB的使用教程

软硬件环境

  • macOS Sierra
  • Xcode 8.2.1

前言

前面学习iOS编程时,画UI控件的时候用的都是直接敲代码的方式,基本都是先创建一个相应控件的对象,然后设置对象属性,最后添加相应的事件响应方法。那强大如Apple这样的公司有没有提供一种更方便、更易学的UI编写方法呢?答案是肯定的。那就是今天本文的主角XIB。它是一种可视化的方法,极大地降低了学习iOS编程的门槛。

XIB实践

创建一个名叫iOSXIBDemo的工程,打开工程info.plist文件,将Main storyboard file base name这个标签去掉,如下图所示

创建一个iOS的Cocoa Touch类RootViewController,作为根视图控制器,它继承自UIViewController,并勾选上”Also create XIB file”选项

打开RootViewController.xib文件,从控件区中拖动一个UILabel和一个UIButton,界面上的操作就是这么简单,那XIB怎么跟代码同步呢?别着急,找到Xcode右上角的双环标记,单击它

这样在同一个画面就能同时看到XIB和RootViewController.m了,接着开始进行代码同步。找到XIB中的UILable对象,同时按住Ctrl键 + 鼠标左键,将光标移动到RootViewController.m中的@interface和@end之间放开,弹出对话框。这里Connection的类型,对于UILabel来说是选Outlet,而UIButton选的是Action。我的理解是的可以响应事件的控件就选Action

绑定完成后,在对应的代码前会有个实心圆。在UIButton点击响应时间函数加句打印

- (IBAction)mButton:(id)sender {
  NSLog(@"button clicked.") ;
}

接下来开始加载根视图控制器,修改AppDelegate.m中的didFinishLaunchingWithOptions方法,同时需要将RootViewController.h头文件import进来

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds] ;

  RootViewController* root = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]] ;

  self.window.rootViewController = root;

  [self.window makeKeyAndVisible] ;

  return YES;
}

最后代码执行的效果如下

源码下载:http://xiazai.jb51.net/201701/yuanma/iOS-XIB_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 解析iOS应用的UI开发中懒加载和xib的简单使用方法

    懒加载 1.懒加载基本 懒加载--也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 3.代码示例 复制代码 代码如下: // //  YYViewController.m //

  • IOS xib布局小技巧-边框设置

    IOS xib布局小技巧-边框设置 在xib或storyboard中为UIView添加边框或圆角 view的圆角半径(cornerRadius)和边框宽度可以在右侧标识符检测器(第三个)上的User Defined Runtime Attributes内进行设置,如图 注:图中未设置圆角方法同上图边线宽度设置相同 Key Path : layer.cornerRadius  Value 处设置想要的半径即可 但是默认情况下边框的颜色是不能设置的,因为这里设置的颜色类型是UIColor而borde

  • iOS开发UI篇—xib的简单使用实例

    这个博客申请了有一段时间了,觉得好像是该写点什么了.这篇文章主要是关于一些xib的简单的用法,希望可以帮助到刚刚使用xib的新手们. 什么是xib? xib能做什么? 用来描述软件界面的文件. 如果没有xib,所有的界面都需要通过代码来手动创建. 有了xib以后,可以在xib中进行可视化开发,然后加载xib文件的时候,系统自动生成对应的代码来创建界面. 与xib类似的还有storyboard文件.xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面.都用Int

  • iOS自学笔记之XIB的使用教程

    软硬件环境 macOS Sierra Xcode 8.2.1 前言 前面学习iOS编程时,画UI控件的时候用的都是直接敲代码的方式,基本都是先创建一个相应控件的对象,然后设置对象属性,最后添加相应的事件响应方法.那强大如Apple这样的公司有没有提供一种更方便.更易学的UI编写方法呢?答案是肯定的.那就是今天本文的主角XIB.它是一种可视化的方法,极大地降低了学习iOS编程的门槛. XIB实践 创建一个名叫iOSXIBDemo的工程,打开工程info.plist文件,将Main storyboa

  • JavaScript自学笔记(必看篇)

    0-判断变量.参数是否初始化 if(x){} //变量被初始化了或者变量不为空或者变量不为零 1-声明函数不需要声明返回值.参数类型,句尾甚至都不需要';' function sum(i1,i2){return i1+i2} 2-直接声明匿名函数立即使用 var f=function(i1,i2){return i1+i2;}; alert(f(1,2));//普通匿名函数 alert(function(i1,i2){return i1+i2;}(3,4));//直接声明,立即使用 3-js中没

  • IOS入门笔记之地理位置定位系统

    前言:关于地理位置及定位系统,在iOS开发中也比较常见,比如美团外面的餐饮店铺的搜索,它首先需要用户当前手机的位置,然后在这个位置附近搜索相关的餐饮店铺的位置,并提供相关的餐饮信息,再比如最常见的就是地图导航,地图导航更需要定位服务,然后根据用户的目的地选出一条路线.其实,作为手机用户这么长时间,或多或少会发现在有些app应用首次在你的手机安装成功后,首次启动可能就会提示"是否同意XXx(比如百度浏览器)获取当前位置"等这样一类的信息.可见地理位置及定位系统是企业app开发必不可少的技

  • Android开发笔记之Intent初级学习教程

    本文讲述了Android开发笔记之Intent初级学习教程.分享给大家供大家参考,具体如下: 项目创建步骤: New Android Project-> Project name:Intent Build Target:Android 2.2 Application name:IntentDemo Package name:com.b510.intent.activity Create Activity:MainActivity Min SDK Version:8 Finish 1.拨打电话 按

  • 分享Android开发自学笔记之AndroidStudio常用功能

    相关下载: Android Studio v1.3 官方最新版(apk应用开发工具) http://www.jb51.net/softs/83206.html Android Studio 官方最新版下载地址(支持国内下载)http://www.jb51.net/softjc/83204.html 一.界面区介绍 1.项目组织结构区,用于浏览项目文件,默认Project以Android组织方式展示. 2.设计区,默认在打开布局文件时为设计模式,可直接拖动控件到界面上实现所见即所得,下方的Desi

  • Pytorch学习笔记DCGAN极简入门教程

    目录 1.图片分类网络 2.图片生成网络 首先是图片分类网络: 重点是生成网络 每一个step分为三个步骤: 1.图片分类网络 这是一个二分类网络,可以是alxnet ,vgg,resnet任何一个,负责对图片进行二分类,区分图片是真实图片还是生成的图片 2.图片生成网络 输入是一个随机噪声,输出是一张图片,使用的是反卷积层 相信学过深度学习的都能写出这两个网络,当然如果你写不出来,没关系,有人替你写好了 首先是图片分类网络: 简单来说就是cnn+relu+sogmid,可以换成任何一个分类网络

  • C语言学习笔记之VS2022安装使用教程

    目录 一.安装VS2022 二.创建项目测试程序 三.遇到问题 四.解决办法 一.安装VS2022 参照B站安装教程安装. Tips:选择安装信息的时候,学习C语言勾选“通用Windows平台开发”,考虑到后续会用到C++,所以勾选了“使用C++的桌面开发”.值得一提的是,安装完成之后在后续学习过程中此安装信息也是可以修改的. 二.创建项目测试程序 点击最上方状态栏调试-开始执行(不调试),运行程序. 成功! 三.遇到问题 在VS2022中,在使用scanf函数编译出错:error C4996:

  • Android开发自学笔记(五):使用代码控制界面

    酷酷的外表已经具备了,那就开始让我们真正把它的功能给实现起来吧,外强中干,花拳绣腿可不行哦,我们需要真正的本领,需要一颗自强不息的心哦,常常想想自己的梦想什么,这样才不会迷失自己,才会在茫茫的世界中找到自己前进的方向!我不会告诉你我刚看过<voice of China session 3>哦. 从上两节教程中,我们已经会搭出如下美美的布局了,欢迎翻页查阅:) Android自学开发第四篇之布局上 Android自学开发第五篇之布局下 添加第二个layout 关于layout布局我们不再赘述,这

  • IOS代码笔记之下拉选项cell

    本文介绍了IOS下拉选项cell的使用方法,供大家参考,具体内容如下 一.效果图 二.工程图 三.代码 RootViewController.h #import <UIKit/UIKit.h> //加入头文件 #import "ComboBoxView.h" @interface RootViewController : UIViewController { ComboBoxView *_comboBox; } @end RootViewController.m #impo

  • IOS代码笔记之仿电子书书架效果

    本文实例为大家分享了IOS书架效果的具体实现代码,供大家参考,具体内容如下 一.效果图   二.工程图  三.代码 RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITableViewDataSource,UITableViewDelegate> { NSMutableArray * dataArray; UITableView * myT

随机推荐