zoukankan      html  css  js  c++  java
  • Sagit.Framework For IOS 自动布局教程:3、主界面:相对同级UIView布局。

    前言:

    IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。

    本篇讲述主界面的相对同级UIView布局,其它三个的操作,在其它文章独立讲述。

    1、相对同级UIView布局的基本语法:

     基本方法定义:

    /当前UI将布局于指定UI的右侧
    -(UIView*)onRight:(id)uiOrName;
    -(UIView*)onRight:(id)uiOrName x:(CGFloat)x;
    -(UIView*)onRight:(id)uiOrName x:(CGFloat)x y:(CGFloat)y;
    //当前UI将布局于指定UI的左侧
    -(UIView*)onLeft:(id)uiOrName;
    -(UIView*)onLeft:(id)uiOrName x:(CGFloat)x;
    -(UIView*)onLeft:(id)uiOrName x:(CGFloat)x y:(CGFloat)y;
    //当前UI将布局于指定UI的上方
    -(UIView*)onTop:(id)uiOrName;
    -(UIView*)onTop:(id)uiOrName y:(CGFloat)y;
    -(UIView*)onTop:(id)uiOrName y:(CGFloat)y x:(CGFloat)x;
    //当前UI将布局于指定UI的下方
    -(UIView *)onBottom:(id)uiOrName;
    -(UIView *)onBottom:(id)uiOrName y:(CGFloat)y;
    -(UIView *)onBottom:(id)uiOrName y:(CGFloat)y x:(CGFloat)x;

    2、布局示例:

    通常界面上第一个UI是用相对布局,后续的UIView,都可以相对于第一个UI进行同级布局。

     比如第一个Logo,用了相对布局:

    [[[[sagit addImageView:@"logo" img:@"logo"] 170 height:170] relate:Top v:200] toCenter:X];

    接下来的App名称的文字布局,则可以用同级间的相对布局。

    App名字,是个label,在logo的底部,因此可以用onBotton方法:

    [[[[sagit addLabel:nil text:AppName font:48] 160 height:44] onBottom:@"logo" y:50]toCenter:X];

    onBotton可以接收UI的name,也可以传入UIView,而框架定义了一个宏:STPreView,代表上一个UI,因此,通用写法是这样的:

    [[[[sagit addLabel:nil text:AppName font:48] 160 height:44] onBottom:STPreView y:50] toCenter:X];

    通过框架提供的一些宏定义,写法可以更简单快捷一些。

    其它方法理解和使用是一样的。

    3、同级布局和相对布局一起用:

    通常使用同级布局后,如果位置还不能确定,还可以再继续使用relate相对布局。

    如:

    [[[[sagit addUIView:nil] STScreenWidthPx] onBottom:STPreView y:20] relate:Bottom v:0];

    添加了一个UI,宽度全屏、在上一个UI底部20px,高度自适应到底部。

    4、方法的第二个参数说明:

    一般使用同级参数方法时,只使用一个参数,第二个参数不指定时,即相对上一个控件对齐(左对齐、顶部对齐)。

    框架一共就两种相对布局方法,本文就介绍到这里了。

  • 相关阅读:
    JavaScript 类型转换
    Bjarne Stroustrup
    格拉丘纳斯的上下级关系理论
    成功者必须具备的三大技能
    ASP.NET/Perl.NET (转)
    iPhone/Mac ObjectiveC内存管理教程和原理剖析
    objectivec日期之间比较可用以下方法
    Centos下安装中文输入法
    C#中数字的四舍五入与只取整
    关于Application.Lock和Lock(obj)
  • 原文地址:https://www.cnblogs.com/cyq1162/p/13492073.html
Copyright © 2011-2022 走看看