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. XMPP客户端开发(1)--连接和登录

    Smack可用于XMPP客户端的开发,下载Smack,将相关jar文件导入后,即可以开始XMPP客户端的开发. 以下代码实现了客户端连接Tigase服务器,并根据用户名和密码登录. package X ...

  2. Cygwin的安装

    Android开发要用到NDK,装了一个虚拟机,老是不行. 后来安装了一个cygwin,安装完毕后unset home,再export NDK,就可以使用了,非常方便,不用像虚拟机那样经常切换.

  3. 《Java4Android》视频学习笔记——为什么用抽象类?

    我们来举个例子,然后引出这个问题的答案: 市面上有 喷墨式打印机 和 针式打印机 这两种形式的打印机,我们需要编程来实现他们的 开机,关机以及打印. 构建父类Printer class Printer ...

  4. No.015:3Sum

    问题: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0?Find all ...

  5. C++11 之 nullptr

    C++11 中,nullptr 是空指针,可用来给 (指向任意对象类型的) 指针赋值 广义整型 (integral types) = char, short, int, long, long long ...

  6. Java final类

    如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作.换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变:或者出于安 ...

  7. java多线程-同步块

    Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java 同步块用来避免竞争.本文介绍以下内容: Java 同步关键字(synchronzied) 实例方法同步 ...

  8. (1)RGB-D SLAM系列- 工具篇(硬件+关键技术)

    /*************************************************************************************************** ...

  9. 基于 jQuery 实现垂直滑动的手风琴效果

    今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底 ...

  10. ruby(&gem) koala安装

    1.ruby下载安装 下载地址:http://railsinstaller.org/en 选择合适版本 2.gem(安装ruby时自带gem) 删除原镜像:gem sources --remove h ...