IOS 使用Interface Builder开发界面入门与技巧
引言:
通过Interface Builder(简称IB)来制作界面一直是iOS开发界饱受争议的方式.主要争议的话题是不太适合团队协作开发,再就是对IB的使用比较生疏,觉得IB只能完成一些很简单的功能.然而Interface Builder的出现并不是偶然,更是苹果一直推崇使用GUI实现技术.只是面对不同的问题,我们需要有相应的解决办法.而不是刻意抵触.
如今,Xcode的第五个版本发布,新版IDE对IB的核心文件Xib进行了一次全面的优化和升级.解决了大家一直争议的团队协作问题. 并且Autolayout(自动布局)的出现,和Xib配合使用简直是天作之合.那么本文的目的就来一点一点揭开IB的神秘面纱,并熟练运用到实际的项目中.
参考资料:
1:Xcode 5中的Interface Builder更有利于团队协作开发
2:Autosizing缩放规律详解(iPhone5支持以及屏幕旋转支持)
http://www.devdiv.com/autosizing_iphone_-blog-1-51978.html
3:提高Interface Builder高效工作的8个技巧
http://beyondvincent.com/blog/2014/03/19/18-tips-for-working-effectively-with-interface-builder/
4:使用 Swift 和 Xcode 6 制作超棒的 UI 组件
5:Size Classes With Xcode 6: One Storyboard For All Sizes
http://www.learnswift.io/blog/2014/6/12/size-classes-with-xcode-6-and-swift
使用:
首先来看看通过Xcode我们可以创建哪些Xib文件,如下图:
从图中罗列的可选项中可以判断出,哪些是最常用的,以及苹果推荐我们使用哪种来创建界面.
1:Storyboard
Storyboard中文翻译过来的意思是故事版.是苹果在Interface Builder推出的一项新的布局方式,不过Storyboard的本质依旧是Xib,它出现的主要目的是更好的展示Xib与Xib之间的流程和联系.当然,如果要介绍Storyboard估计需要彻底新开一篇博文来专门其如何使用.
2:View
View便是我们在使用IB实现界面时最常用的方式. 创建后,Xib里面已经默认初始化了一个View
3:Empty,Window,Application
以上三个的使用场景还是比较少的.如果你好奇,不妨也新建一个试试.
IOS 使用Interface Builder开发界面入门与技巧的更多相关文章
- XCode Interface Builder开发——2
XCode Interface Builder开发--2 简单的练手项目--仿苹果自备的计算器 简介 制作一个简易功能的计算器并非难事,但是其中要考虑的不同情况却仍有许多,稍不留神就会踩坑. 例如: ...
- XCode Interface Builder开发——1
XCode Interface Builder开发--1 创建Xcode项目 选择第二个选项 选择Single View App,点击Next 设置完后点击Next Xcode基本面板 导航面板 工具 ...
- 【iOS】Interface Builder 预览
Interface Builder 为最顶层视图提供了 Simulated Metrics,预览用户界面的各种外观设置效果,例如顶部有导航栏或底部有标签栏的效果,如图所示:
- iOS 使用interface builder 创建太复杂的constrains时容易产生crash
今天写程序,遇到了crash,在界面初始化时不会有,想切换到别的tab页就报错了.主要内容如下: Cannot find an outgoing row head for incoming head ...
- IOS - xib(Interface Builder,view) - can't change view size(view不能改变大小问题)
很多时候,我们自定义tableview.collectionview的cell,也有时候我们要自定义窗口xib,但创建xib后,其height.width不可修改. 这时问题就来了,怎么才能使我们的自 ...
- iOS开发~interface Builder(简称 IB) 界面构建器
1.interface Builder 设置界面 1.1 是什么? 一个可视化的界面编辑工具软件,在xcode4之后整合到了xcode中 1.2 作用? 通过可视化的界面设置,能够少写或不写代码而完成 ...
- iOS学习笔记(1)--认识Xcode6.1的Interface Builder和常用快捷键
Interface Builder基本界面 红色区域为工具栏(Tool Bar) 蓝色区域为导航区(Navigator Area) 绿色区域为编辑区(Editor Area) 黑色区域是调试区(Deb ...
- iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式的前世今生 ...
- 【转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
原文网址:http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式 ...
随机推荐
- Linux基本命令(4)有关关机和查看系统信息的命令
有关关机和查看系统信息的命令 命令 说明 shutdown 正常关机 reboot 重启计算机 ps 查看目前程序执行的情况 top 查看目前程序执行的情景和内存使用的情况 kill 终止一个进程 d ...
- node.js study: cluster
从v0.6.x开始,Node.js提供了多进程模块cluster,允许创建一组进程来共享同一个socket,并且分担负载压力.官方文档是这样说的:A single instance of Node.j ...
- 通过实验分析system_call中断处理过程
作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本实验目的:通过以一个简单的m ...
- 多校1005 HDU5785 Interesting (manacher)
// 多校1005 HDU5785 Interesting // 题意:给你一个串,求相邻两个回文串左边端点*右边端点的和 // 思路:马拉车算出最长回文半径,求一个前缀和,既得到每个点对答案的贡献. ...
- Ensemble learning(集成学习)
集成学习:是目前机器学习的一大热门方向,所谓集成学习简单理解就是指采用多个分类器对数据集进行预测,从而提高整体分类器的泛化能力. 我们在前面介绍了.所谓的机器学习就是通过某种学习方法在假设空间中找到一 ...
- ACM竞赛 Java编程小结
1.字符串的长度 String str = new String(" abcd"); int length = str.length(); 2.数组的长度.排序 2.1对于 a[] ...
- Android Studio的安装使用记录[持续更新]
参考资料: Windows环境下Android Studio v1.0安装教程 http://ask.android-studio.org/?/article/9 1. 下载与安装 在http://w ...
- 第二百五十九天 how can I 坚持
晚上,弟弟给我说了下他前几天发生的事,这孩子,有事就不知道说下,自己闷在心里. 刘松打算最近买房了,弟弟和建哥也考虑买,让他俩商量着来吧,早晚都得买. 有点揪心.想结婚不知道该和谁结... 睡觉.烦.
- 修改Map中确定key对应的value问题
今天在码代码的时候出现一个没有预料的问题: 先看下面的代码: public static void main(String[] args) { String[] files=new String[]{ ...
- TQJson序列和还原clientdataset.data
TQJson是QDAC开源项目的JSON对象,其特点是跨平台,功能强大. 序列 procedure TForm2.Button2Click(Sender: TObject);var AJson: TQ ...