zoukankan      html  css  js  c++  java
  • 自动布局使用

    1. ios5.0开始出现ARC ios6.0出现AutoLayout

    2. 在Autolayout之前,有Autoresizing可以作屏幕适配。Autoresizing使用:

    typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone = 0,
    UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
    UIViewAutoresizingFlexibleWidth = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin = 1 << 3,
    UIViewAutoresizingFlexibleHeight = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
    };
    uiview.autoresizingMask=UIViewAutoresizing;

    3. Autoresizing和AutoLayout不能同时使用。

    4. 代码实现Autolayout的注意点

    • 要先禁止autoresizing功能
      view.translatesAutoresizingMaskIntoConstraints = NO;

    • 添加约束之前,一定要保证相关控件都已经在各自的父控件上

    • 使用Autolayout后就不要再给view设置frame

    • 约束NSLayoutConstraint要加到最近的公共父控件上

    5. 在修改了约束之后,执行下面代码实现动画效果

    [UIView animateWithDuration:1.0 animations:^{
        [添加了约束的view layoutIfNeeded];
    }];
    

    6. UILabel可以通过设置约束来实现大小随文字内容改变。

    • 设置两个位置的约束后,再设置一个Equal类型的Height Constraint,可以让label在宽度固定的情况下,高度自由伸缩。

    • 设置两个位置的约束后,再设置一个Less Than or Equal类型的Height Constraint,可以让label在小于一定宽度的范围内自由伸缩。

    • 可以同时设置两个Height(Width)约束,两个约束类型分别为Less Than or Equal和Greater Than or Equal。保证Height(Width)在一定范围之内。

  • 相关阅读:
    乘积最大(动规)
    电话圈(floyd)
    孪生蜘蛛
    解题报告
    最大上升子序列和
    怪盗基德的滑翔翼(还是最长x序列)
    最长公共子序列
    合唱队形(动规,最长不下降子序列)
    课堂笔记 4.6
    2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest I Lottery
  • 原文地址:https://www.cnblogs.com/coderkl/p/4320305.html
Copyright © 2011-2022 走看看