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)在一定范围之内。

  • 相关阅读:
    webstorm快捷键大全
    Js的reduce()方法
    利用 c# linq 实现多个数据库的联合查询
    微信小程序支付接入注意点
    ubuntu所有php扩展php-7.0扩展列表
    ubuntu 16.04 php 安装curl方法
    Ubuntu下配置Apache开启HTTPS
    Mac下如何用SSH连接远程Linux服务器及Linux一些常用操作命令,更新中.....
    Mac下如何用SSH连接远程Linux服务器
    C#的dapper使用
  • 原文地址:https://www.cnblogs.com/coderkl/p/4320305.html
Copyright © 2011-2022 走看看