一丶前言

实现ios界面总的来说,有三种方式,传统的是纯代码创建与xib创建,近年来,苹果官网一直推荐用storyboard管理项目界面,最新的xcode

创建的project也是默认为storyboard方式了。相对于Android开发而已,界面的管理就两种方式,一种是纯代码,另外一种技术XML布

局方式。其实ios与Android的界面管理相同点挺多的,下面就分开说说。

二、纯代码创建

首先如下,纯代码创建一个UIImageView,并给它设置图片,并且根据设备的不同,动态设置其位置坐标与长宽。

优点:可以灵活地适应各种环境,无论是什么ios版本,或者iPhone,ipad,都可以动态地适应各种场景。

缺点:代码量大,构建控件麻烦,点击的监听函数和delegate要自己手动创建。

三、xib方式创建

xib创建视图,就如同Android的XML一样,但是它比Android的XML方式还强大。可以直接设置控件的监听函数与delegate,控件的各种属性基本都能设置。

3.1、xib项目的初始化写法

使用xib的项目,AppDelegate的didFinishLaunchingWithOptions方法中一般这么写。

优点:每个viewcontroller对应单独的xib,可以更加方便单独管理,项目也方便多人一起开发,改动视图方便,不用全局改动。

​缺点:项目大的话,xib文件过多,不容易统一管理。跳转只能在代码实现,比较混乱。

四、storyboard方式

storyboard方式是ios5之后Apple提供了一种全新的方

式。简单来说,StoryBoard是一个包含了多个xib与xib之间跳转关系的文件。在StoryBoard中不仅可以看到每个

ViewController的布局样式,也可以知道各个ViewController之间的转换关系。最近版本的xcode新建的工程都是默认以

storyboard方式。可见未来的发展趋势都是storyboard布局方式。

优点:所有xib集中在一个storyboard文件中,管理方便,View

Controller跳转很轻松就可以实现,大大减少代码量。

缺点:由于所有xib都集中在一个文件中,对于一些大型项目,分工起来就比较困难,不好分工,而且采用storyboard方式对系统资源的耗费比代码和xib方式要大。

​五、总结

对于个人而言,我比较偏向于xib为主要的视图构建方式,代码创建为辅助,因为我是从Android开发转到ios开发,比较习惯于每一个

activity

对应一个xml布局文件这样的方式,xib也能满足我的需要,目前,暂且是这样使用,等工程需要,在使用storyboard方式,毕竟这是未来的发展趋

势。

storyboard搭建项目_简单谈谈ios程序界面实现的三种方式(代码创建,xib和storyboard)...相关推荐

  1. storyboard搭建项目_轻松搞定一人一个storyboard开发

    前言 storyboard已经推出有几年了,苹果也一直卖力的引导开发者使用storyboard开发,这点从我们创建工程,新工程以Main. storyboard创建window窗口就可以看出.然而很多 ...

  2. ios多线程开发的常用三种方式

    ios多线程开发的常用三种方式 1.NSThread 2.NSOperationQueue 3.GCD NSThread: 创建方式主要有两种: [NSThread detachNewThreadSe ...

  3. 小程序引入icon的三种方式

    小程序引入icon的三种方式(原生图标.WeUI图标组件.iconfont图标) 原生图标 小程序里原生图标是通过icon标签来引入的: <icon type="success&quo ...

  4. vue获取上传图片的名字和路径_使用Vue实现图片上传的三种方式

    项目中需要上传图片可谓是经常遇到的需求,本文将介绍 3 种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来. 没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务 ...

  5. uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

    重要背景说明 官网iconfont的引入方式有三种分别为:Unicode.Font class.Symbol, 其中已明确说明 Unicode.Font class 这两种引入方式 不支持多色. 单色 ...

  6. 启动另外的一个应用程序的Activity(三种方式)

    [java] view plaincopyprint? <span style="font-family:SimSun;"></span><pre n ...

  7. spring循环依赖及解决方式_来探究一下Spring 循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  8. java 循环依赖_浅谈Spring解决循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  9. 微信小程序页面跳转三种方式

    为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是五层,请尽量避免多层级的交互方式. 页面跳转的话就涉及到了多个页面层级 第一种:wx.navigateTo(OBJECT) 保留当前页面 ...

最新文章

  1. PyTorch中nn.Module类简介
  2. win 系统配置 openal
  3. Mybaits 运行原理流程图
  4. 【深度学习】网络中隐含层神经元节点的个数(需要学习的特征数目)
  5. 反思代码能力提升点:foreach循环层数;命名契合;分块写;写注释;分步骤;多沟通
  6. 硬链接与软链接的区别
  7. oracle复制数据库文件不动,复制数据库中需要注意的几点事项
  8. Visual Studio 与 Eclipse,谁是最强 IDE?
  9. 公式中的引号怎么输_Excel计数函数中这些奇怪的参数让我百思不得其解!
  10. 【图像隐写】基于matlab GUI LSB+DWT数字水印嵌入+提取+检测+攻击【含Matlab源码 833期】
  11. 如何不做老板手中一次性筷子?
  12. java 日历选择天_如何从Java中的日历对象构建天,月,年的列表?
  13. pdf文件旋转后怎么完整保存
  14. Dell Optiplex 960 n series 释放SLIC
  15. 晚上思考人生千条路,白天走原路
  16. linux操作的进程调度没有采用,Linux进程调度分析
  17. springboot+臻绿原客绿色食品商城 毕业设计-附源码161928
  18. 排序与分页Pagination
  19. R语言画图——添加数学表达式和R2(Ⅱ)
  20. echarts name 坐标轴_从零打造Echarts —— v1 ZRender和MVC

热门文章

  1. git回退到某个版本
  2. HVM的常用虚拟指令与详解
  3. UA287Q蓝牙模组,UA800 Wi-Fi模组助力扫地机器人方案,为传统电器插上“智能”翅膀
  4. xfs文件系统的备份和恢复
  5. Flack之 WTForms
  6. 中国旅行和收纳箱市场深度研究分析报告
  7. QQ控件时光轴特效总结
  8. sql server 2008:导入excel,出现“外部表不是预期格式“错误
  9. 磁致式量水堰计怎么安装?应用方向有哪些?
  10. 欲加罪人民币 何患无辞(1)