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. Sqlserver2005日志文件太大,使其减小的方法

    Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行 dbName为数据库名: backup log dbNamewith NO_LOG backup log dbNamewith ...

  2. 【从API学英语】-PreparedStatement

    原文 An object that represents a precompiled SQL statement. A SQL statement is precompiled and stored ...

  3. GitHub for Windows 2.0使用教程

    Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法. 一:下载GitHub for Windows 2.0 二:安装GitHub  下载之后点击进行安装过程,安装之后桌面上会有 ...

  4. Jquery验证插件 JqueryValidation 动态验证用户名等

    可以参考:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html //form1 验证用户名 $("#form1"). ...

  5. python flask detect browser language

    python flask detect browser language   No problem. We won't show you that ad again. Why didn't you l ...

  6. No.020:Valid Parentheses

    问题: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the ...

  7. static的用法

    首先,看看变量的存储: int global ; int main() { int stackStore ; int heapStore* = (int *)malloc(sizeof(int)); ...

  8. JSON字符串和java对象的互转【json-lib】

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  9. Oracle EBS Form 发布到Server端的注意事项

    前段时间在本地XP系统上测试了一些整合javabean的Form例子,想着发布到服务器段去看看能否运行正常,一开始以为会和本地XP系统一样,部署到相关的目录下进行一些配置就可以了,但实际过程却和想象的 ...

  10. HTML5 Maker – 在线轻松制作 HTML5 动画效果

    HTML5 Maker 是一个在线动画制作工具,帮助你使用 HTML,CSS 和 JavaScript 创建动态,互动的内容.它非常容易使用,同时可以帮你实现非常好的效果.它可以制作跨浏览器的动画内容 ...