1 UIView

1.1 创建自定义的UIView的xib文件

[1]设置 file's Owner的 Custom Class 中的class 执行自定义控件类

[2]设置当前UIView 的屏幕大小

Simulated Metrics 中 Size 为FreeFrom,其他的Bar选项设置为None

[3]自定义控件的两种加载方式实现

- (id)initWithFrame:(CGRect)frame //通用在代码中设置frame生成控件的方式

-(id)initWithCoder:(NSCoder *)aDecoder //通过xib文件加载方式生成控件

- (void) awakeFromNib

[4]获得当前控件的frame

self.frame;

[5]在自定义控件中获取自定义nib控件

NSBundle* bundle=[NSBundle mainBundle];

views= [bundle loadNibNamed:@"UIMainMenuButton1" owner:self options:nil];

UIView* uiview=[views objectAtIndex:0];

[6]设置自定义属性

在类中添加自定义属性

在添加自定义类的xib文件中选择类,并在show the identity inspector 选项卡中添加 user defined runtime attributes

      

   [7]自定义控件 不能计算当前控件的实际的宽高,但系统自带的控件,如UILabel可以计算实际的宽高,

在auto layout设置中必须高度,和宽度

[8]裁减内容

设置clips subviews 选中

[9]UIView和UIControl

UIView是UIControl的基类,UIControl中包含了触控事件实现

基于UIControl的类,可以直接在xib文件中直接设置action

在实现自定义控件过程中,如果类的实现的界面中包含子控件,且子控件覆盖界面全部,则在类实现的触控事件就不会触发(一般将事件移植到子控件中)

2    auto layout

[1] 在xib文件中的 show file inspector,选择Use auto layout

[2]  添加控件的约束

从菜单项 Editor-->pin

xib界面的右下方 选择

[3]常见约束,长宽

相对于父容器的四个边的距离

相对于父容器,横向,纵向居中对齐,

相对于其他控件,长度,宽度相等,左边,右边,中间对齐,上边,下面,对齐,横向间隔,纵向间隔

[4]编辑修改当前任一控件的约束

直接选择控件,根据面板中显示的约束线,双击并修改

选择控件,查看Show the size inspector 面板,显示当前的约束,并修改

[5]常见界面设置尺寸为4.7 inch

3 自定义UIScrollView控件frame设置步骤

先设置UIScrollView 的frame

设置UIScrollView的content View 的frame ,并计算出 content View 的高度

设置UIScrollView 的contentSize

4

ios界面布局整理的更多相关文章

  1. 【IOS界面布局】横竖屏切换和控件自适应(推荐)

    [IOS界面布局]横竖屏切换和控件自适应(推荐) 分类: [MAC/IOS下开发]2013-11-06 15:14 8798人阅读 评论(0) 收藏 举报 横竖屏切换 自适应 第一种:通过人为的办法改 ...

  2. iOS界面布局设计

    参考资料: 1. 谈谈如何学习ios 8的界面和布局设计 2. iOS 8 Auto Layout界面布局系列 3. 为iPhone 6设计自适应布局 4. 几张图弄明白iOS布局中的尺寸问题

  3. iOS 界面布局,设置约束

    1. 设置控件的宽度是父视图的宽度的1/2 在控件上按住ctrl,按住鼠标左键,拖动到父视图,这时出来一个选项,选中aspect 在Multiplier中填上1:2 即可,其它的比例也是这样 2. 设 ...

  4. iOS 界面布局

    1. auto layout http://www.devtalking.com/articles/adaptive-layout-for-iphone6-1/ http://blog.sina.co ...

  5. ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

    本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...

  6. iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局

    iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一.项目文件结构和plist文件 二.实现效果 三.代码示例 1.没有使用配套的类,而是直接使用xib文 ...

  7. iOS下的界面布局利器-MyLayout布局框架

      Swift:TangramKit: https://github.com/youngsoft/TangramKit OC:MyLayout: https://github.com/youngsof ...

  8. iOS中xib与storyboard原理,与Android界面布局的异同

    用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...

  9. BearSkill纯代码搭建iOS界面

    欢迎相同喜欢动效的project师/UI设计师/产品增加我们 iOS动效特攻队–>QQ群:547897182 iOS动效特攻队–>熊熊:648070256 浅谈一下 关于iOS兼容布局一直 ...

随机推荐

  1. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  2. 【2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D】---暑假三校训练

    2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D Problem D. Distribution in Metagonia Input ...

  3. iOS AFNetworking 打印从服务器返回的错误提示信息

    每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是data类型,看不出提示的错误的信息是什么.后面经过一些查阅发现其实是可以把这个转变为string的 ...

  4. Guava学习笔记:Ordering犀利的比较器

    Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在 ...

  5. ASP.NET 多语言的实现(后台消息+前台消息+页面自动绑定)

    一 前言 界面支持多种语言,在使用ASP.NET自带的多语言方案时遇到下列问题: 在做管理类的功能时,有添加.修改和查看页面,需要支持多语言的控件基本相同,但要维护多处,产生冗余(ASP.NET有共享 ...

  6. 使用Bower作为Web包管理器

    Bower是一个简单易用的Web包管理器,通过它我们可以非常简便的安装各种Web框架和库,同时它也负责管理不同包之间的关系依赖. 安装Bower Bower需要 npm 和 Git 的支持,在安装Bo ...

  7. ENVI数据显示操作【Tools菜单操作1】

    ---恢复内容开始--- 一.Tools菜单命令及其功能 主图像窗口中Tool菜单多对应的下拉菜单共17项命令. 二.窗口链接/覆盖显示 窗口链接和叠加显示(Link和Overlay)是对多幅图像某一 ...

  8. Vue-router中文教程-Vue-router参考手册.CHM

    下载地址http://download.csdn.net/detail/shouce_ren/9689243 百度云下载地址

  9. AE选中要素

    private void 选中要素ToolStripMenuItem_Click(object sender, EventArgs e) { if(axMapControl2.LayerCount&l ...

  10. ARCGIS server没有服务、silverlight不能调试、windows server2008安装时跳出“安装程序无法创建新的系统分区也无法定位现有的系统分区”的解决方案

    1.某个系统服务没开启 2.默认浏览器设置为IE.(IE内核有时候也不能调试) 3.BIOS里面的SATA设置为开启.