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

    前言:

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

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

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

     基本方法定义:

    //!相对当前UI的父视图布局 XYLocation 决定相对的位置
    -(UIView*)relate:(XYLocation)location v:(CGFloat)value;
    -(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2;
    -(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2 v3:(CGFloat)value3;
    -(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2 v3:(CGFloat)value3 v4:(CGFloat)value4;

    XYLocation的枚举定义:

    //!布局时的相对位置(取值的依据为:Left:1 Top:2 Ritht:3 Bottom:4 可以根据值来检测所相对哪些位置)
    typedef NS_ENUM(NSUInteger,XYLocation)  {
        Left = 1,
        LeftTop = 12,
        LeftTopRight = 123,
        LeftTopBottom = 124,
        LeftRight = 13,
        LeftBottom = 14,
        LeftBottomRight = 143,
        
        Top = 2,
        TopRight = 23,
        TopBottom = 24,
        TopRightBottom = 234,
        
        Right = 3,
        RightBottom = 34,
        
        Bottom = 4,
        //相对四边
        LeftTopRightBottom = 1234
    };

    2、布局示例:

    布局的起始写法:

    如果是在XXXUIView中:以self开头
    如果是在XXXController中:以小写sagit开头(宏定义为self.view)

    示例:

    添加logo图标的布局:

    写法一:相对左上右固定三个位置。

    [[[sagit addImageView:@"logo" img:@"logo"] 170 height:170] relate:LeftTopRight v:290 v2:200 v3:290];

    写法二:相对顶部位置,再居中。

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

    3、定义添加控件时设定XY坐标(即默认为相对 LeftTop的相对布局)

    如:添加logo图片并定义宽高和初始坐标(相对父UI)

    [[sagit addImageView:nil img:@"logo"] 170 height:170 x:290 y:200];

    和以下代码功能一致:

     [[[sagit addImageView:nil img:@"logo"] 170 height:170] relate:LeftTop v:290 v2:200];

    总结:

    Sagit的布局比较简单,只要看着标注好的图写代码就可以了。

    相对布局是相对于父UI、下一篇介绍同级UI的相对布局使用方法。

  • 相关阅读:
    我的书单
    说说IUnitOfWork~Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事
    说说IUnitOfWork~认识IUnitOfWork,为什么要出现IUnitOfWork接口
    LINQtoSQL那点事~关于延时加载的性能,微软给出了不错的解决方案
    数据结构~站点地图其实是一颗树
    说说IUnitOfWork~方法完整性与统一提交不冲突
    递归 解剖
    Java Socket一对一聊天
    转:浅谈c++容器
    Java JList 使用
  • 原文地址:https://www.cnblogs.com/cyq1162/p/13489852.html
Copyright © 2011-2022 走看看