文档章节

xib constraints edge

夕阳_jhe
 夕阳_jhe
发布于 2015/10/21 15:59
字数 718
阅读 30
收藏 0
点赞 0
评论 0
  1. 第一个图标,是两个或多个view   的 constraints  

    1)第一部分4个分别是,前对齐,后对齐,上对齐,下对齐(注意看前面的图标指示)

    2)第二部分3个分别是,表示两个或多个坚直对齐(如图标示),第二个表示水平居中对齐,第三个不知道,大概是基线

    3)第三部分2个分别是,in Container 在父view中,你选一个view勾上这个,表示它会以父view为基准,竖直对齐,第二个同理

  2.  第二个图标,是单个view   

       1)第一部分,是view本身,上下左右,相对于最近的view的间距,  下面的constrain to margins 勾不勾上是一样的,勾上会减去默认的8个点,如果确定要用设定的值,就点中间的 红色虚线 “工”  ,变成实线“工”就表示运用了

       2)第二部分,是view本身,的高宽比,设定高宽?

       3)第三部分,是两个view 等宽,等高 一起变化,aspect ratio 不知道没用

  3.  每三个图标,是更新

      1)上部分,是选中的view   

      update frames 在设好constrainst 的情况下,根据设好的constraints列新frme

      update constrainst  与上相反

      add missing constraints 是有时候你设置了一半的constraints时可以用这个增加余下的,但有时会出现乱七八糟的东东

      reset to  suggested constraints  不知道,也会加乱七八糟的

      clear constraints 清除所有的constraints

      2)下部分,是所有的view

 

 

在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets

        //使图文 上下居中

        tfRightBtn.titleLabel?.font = UIFont.systemFontOfSize(11)

        let image = UIImage(named: "筛选")

        tfRightBtn.setImage(image, forState: UIControlState.Normal)

        //计算size

        var size = CGRect();

        let size2 = CGSize();

        let string = "筛选";

        size = string.boundingRectWithSize(size2, options: NSStringDrawingOptions.UsesFontLeading, attributes: [NSFontAttributeName: UIFont.systemFontOfSize(11)], context: nil);

        tfRightBtn.imageEdgeInsets = UIEdgeInsetsMake(1, 10, 15, -size.width)

        

        tfRightBtn.setTitle("筛选", forState: UIControlState.Normal)

        tfRightBtn.setTitleColor(UIColor.grayColor(), forState: UIControlState.Normal)

        tfRightBtn.titleEdgeInsets = UIEdgeInsetsMake(15, 10 - image!.size.width, 0, 0)

        tfRightBtn.titleLabel?.textAlignment = NSTextAlignment.Center;//设置title的字体居中

 

  1. 图片缩进  (edge 有  content  title  image 可选 ) content 表示图片和文字一起移动

button 设置时遇到的问题,  发现一个图片加到button上时被压缩的好小,原因是这里设置了缩进(edge 选 image)

这样可以做那种按钮很大,容易点,但中间的图片看起来又不大的效果

如果要定制图片  文字   frame ,  就两个都要改,先选image,再选title

用代码写,会覆盖XIB

2. 设置relation

relation     有equal   =    less than or equal    <=        greater than equal

 

priority -- 优先级。这个可以调。有时有冲突,调低一点就没有红色 冲突了。   如果调成250,则那个约束的名字后面会加个@250

 

 

 

constraint    可以连线拉出来做一个变量,比如 

    @IBOutlet weak var likeButtonWidth: NSLayoutConstraint!

这样就可动态改变,同时可用来改变与之相关的一变量的布局

 

 

xib   file's owner---------custom class     与那个类对应在这里改

© 著作权归作者所有

共有 人打赏支持
夕阳_jhe
粉丝 2
博文 31
码字总数 15591
作品 0
深圳
更加优雅的iOS自动布局

因为懒,所以之前几乎不用代码进行自动布局。但是使用xib和storyboard,总是有那么一些局限性。使用代码布局在某些时候就成了必须了😂 。 iOS原生的布局方式太过麻烦。要么使用VFL(Visual ...

彩虹的洪 ⋅ 2017/12/18 ⋅ 0

iOS开发技巧 autolayout自动布局

iOS开发技巧(系列十五:autolayout自动布局) 发表于3个月前(2014-06-14 13:59) 阅读(121) | 评论(1) 6人收藏此文章, 我要收藏 赞0 摘要 autolayout可以方便的进行屏幕适配 ios autola...

Daniel_s ⋅ 2015/12/07 ⋅ 0

UITableViewCell中设置动态大小的圆形imageview

在一个自定义的UITableViewCell里有一个imageview需要显示成圆形,因为它的宽高是autolayout动态设置的,所以不能在xib中设置layer.cornerRadius。于是我就在awakeFromNib中设置layer.corne...

yoyoso ⋅ 2015/04/26 ⋅ 0

取消新增的constraints

升级为xcode 4.5后想取消 constraints 选中 XIB 文件,然后在 File Inspector 中,取消勾选 “Use Autolayout” 就可以继续使用 Auto Resizing mask 了。...

abcMx ⋅ 2013/02/01 ⋅ 0

【IOS】自动旋转与调整大小xcode5之前&xcode5之后

//4.5版本开始启用Autolayout了,可以在file inspector 里面 interface Builder Document栏下取消“Use Autolayout”的钩选。 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也...

小小M ⋅ 2013/08/28 ⋅ 0

iOS开发技巧(系列十五:autolayout自动布局)

autolayout自动布局技术在iOS6就已经推出了,但是因为很多人一开始不习惯使用xib编程,而是坚持使用代码布局控件,所以autolayout并没有普及的太快。但是现在随着越来越多的人开始使用xib,怎...

召唤攻城狮 ⋅ 2014/06/14 ⋅ 2

IOS8 SizeClass初探

以前和安卓的同学聊天的时候,谈到适配一直是一个非常开心的话题,看到他们被各种屏幕适配折磨的欲仙欲死,心里真替他们高兴。不过在做到 iPhone 和 iPad 的适配的时候,一个页面需要配置多个...

泊竹 ⋅ 2014/09/23 ⋅ 0

[转]设置 UILabel 和 UITextField 的 Padding 或 Insets

iOS 的控件,只看到 UIButton 可以设置 Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做 Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下: ...

MrMign ⋅ 2012/03/29 ⋅ 0

实时显示iOS编写UI代码效果(转)

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码。采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发...

SunGiantor ⋅ 2015/04/24 ⋅ 0

自动布局-Size Class

简介 先来看一下我们的新伙伴:Size Classes。在 iOS8 中,我们不用再像以前那样,一个页面新建多个 xib 文件来适配不同类型的屏幕,现在我们可以把各种尺寸屏幕的适配工作放在一个文件中完成...

HelloSwift ⋅ 2016/08/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vim编辑模式、命令模式

编辑模式 vim要从一般模式进入编辑模式只要按字母 i 、I、a、A、o、O键就可以了 要从编辑模式回到一般模式按键盘上的Esc键即可。 按键 作用 i 在当前字符前插入 I 在光标所在行的行首插入 o ...

黄昏残影 ⋅ 28分钟前 ⋅ 0

OSChina 周五乱弹 —— 如果有一天不当程序员了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享off的单曲《我唱情歌给你听》 《我唱情歌给你听》- off 手机党少年们想听歌,请使劲儿戳(这里) @小小编辑 :#如果不做程序...

小小编辑 ⋅ 35分钟前 ⋅ 5

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部