美文网首页
NSLayoutConstraint-的妙用-贵金属)

NSLayoutConstraint-的妙用-贵金属)

作者: 秋儿Luckyfy | 来源:发表于2016-08-16 16:43 被阅读212次

title: NSLayoutConstraint 的妙用(贵金属)
date: 2015-12-22 12:01:35
categories: iOS
tags: [贵金属]


作者:秋儿(lvruifei@foxmail.com

贵金属项目,是第一次使用 storyboard 开发,以下是初次接触 NSLayoutConstraint,遇到的问题:

问题1:

用 storyboard 搭建的 UI,在 tableView 的 header 中的控件的高度是不固定的,条件1下控件高90,条件2下控件高45,所以就考虑用代码控制控件的高度。

在用代码设置了控件的高度和 header 的高度后,发现效果并非如预期所想。在 storyboard 里面设置了90,在代码中设置了45,显示时还是90,代码更改高度没变化。

<font color=brown>原因:</font>UIButton 的 buttonType
在 storyboard 里面设置了控件的高度,并且添加了约束,其中便有高度的约束,约束有了,代码更改控件的高度,并不会有效果。

<font color=green>解决方案:</font>
NSLayoutConstraint 是可以设置成属性的,在 storyboard 中添加控件高度约束的属性的连线,连接到相对应的文件中。在文件中更改该属性的值,如下:

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *surplusHeightLayout;


self.surplusHeightLayout.constant = 45;

问题2:

用 storyboard 搭建的 UI,控件之间有分割线,UI设计师设计的是1像素,所以需要设置0.5高。但是在Xcode7 的 storyboard 中无法设置带有".5"的数字。虽然可以像上面的问题的解决方案那样处理,可以达到效果,但是分割线太多,那样处理工作量太大,还会有很多冗余的代码。

<font color=green>解决方案:</font>
创建 NSLayoutConstraint 的子类NSLayoutConstraintHairline,在.m 中添加以下代码:

- (void)awakeFromNib {
    [super awakeFromNib];
    if (self.constant == 1) {
       self.constant = 0.5/[UIScreen mainScreen].scale;
    }
}

在 storyboard 中设置分割线的高为任意值,选中分割线的高的约束,修改其类型NSLayoutConstraint为创建的NSLayoutConstraintHairline即可达到目的。

相关文章

  • NSLayoutConstraint-的妙用-贵金属)

    title: NSLayoutConstraint 的妙用(贵金属)date: 2015-12-22 12:01:...

  • 2020-04-27

    贵金属投资,你必须学的知识(一) 贵金属是什么: 贵金属主要指...

  • 十点理财--贵金属

    贵金属能不能投资?贵金属,我们教室里现在有996个人了。争取过千了。好,我问大家,贵金属能不能碰,好,贵金属,有人...

  • 吴军聊投资的笔记

    这些投资知识是最基础最需要认真学的。 投资的误区: 1、贵金属只有避险的功能,但是仅限于实物贵金属,贵金属之所以没...

  • 吴军聊投资的笔记

    这些投资知识是最基础最需要认真学的。 投资的误区: 1、贵金属只有避险的功能,但是仅限于实物贵金属,贵金属之所以没...

  • 怀疑银价仍在继续跌落的根据

    怀疑银价仍在继续跌落的根据欧洲财富日益增加,以及认为由于贵金属量自随财富增加而增加,贵金属价值因此自随贵金属数量增...

  • NSLayoutConstraint-代码实现自动布局

    你是否曾经想让你的app在横竖屏方向上看起来都表现良好而受挫?是否在做支持iPhone和iPad屏幕布局界面时几近...

  • 贵金属销售经验贵金属投资行业很赚钱,但不建议做,原因如下

    贵金属销售经验小林想从事贵金属行业,他说前同事进入贵金属行业后不到两年就买上车了。是个高收入行业。问我的看法 我的...

  • 贵金属的最高价格!!!

    贵金属的最高价格!!!似乎不取决于任何他物,而只取决于贵金属本身的实际供给是不足还是丰裕。贵金属的最高价格,不由任...

  • 贵金属价值

    贵金属的需求,一半出于其效用,一半出于其美质。除铁外,贵金属也许比任何其他金属有用。贵金属容易保持清洁,而且不易生...

网友评论

      本文标题:NSLayoutConstraint-的妙用-贵金属)

      本文链接:https://www.haomeiwen.com/subject/zhvpsttx.html