using UnityEngine;

 public enum AnchorPresets
{
TopLeft,
TopCenter,
TopRight, MiddleLeft,
MiddleCenter,
MiddleRight, BottomLeft,
BottonCenter,
BottomRight,
BottomStretch, VertStretchLeft,
VertStretchRight,
VertStretchCenter, HorStretchTop,
HorStretchMiddle,
HorStretchBottom, StretchAll
} public enum PivotPresets
{
TopLeft,
TopCenter,
TopRight, MiddleLeft,
MiddleCenter,
MiddleRight, BottomLeft,
BottomCenter,
BottomRight,
} public static class RectTransformExtensions
{
public static void SetAnchor(this RectTransform source, AnchorPresets allign, int offsetX=, int offsetY=)
{
source.anchoredPosition = new Vector3(offsetX, offsetY, ); switch (allign)
{
case(AnchorPresets.TopLeft):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
}
case (AnchorPresets.TopCenter):
{
source.anchorMin = new Vector2(0.5f, );
source.anchorMax = new Vector2(0.5f, );
break;
}
case (AnchorPresets.TopRight):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
} case (AnchorPresets.MiddleLeft):
{
source.anchorMin = new Vector2(, 0.5f);
source.anchorMax = new Vector2(, 0.5f);
break;
}
case (AnchorPresets.MiddleCenter):
{
source.anchorMin = new Vector2(0.5f, 0.5f);
source.anchorMax = new Vector2(0.5f, 0.5f);
break;
}
case (AnchorPresets.MiddleRight):
{
source.anchorMin = new Vector2(, 0.5f);
source.anchorMax = new Vector2(, 0.5f);
break;
} case (AnchorPresets.BottomLeft):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
}
case (AnchorPresets.BottonCenter):
{
source.anchorMin = new Vector2(0.5f, );
source.anchorMax = new Vector2(0.5f,);
break;
}
case (AnchorPresets.BottomRight):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
} case (AnchorPresets.HorStretchTop):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
}
case (AnchorPresets.HorStretchMiddle):
{
source.anchorMin = new Vector2(, 0.5f);
source.anchorMax = new Vector2(, 0.5f);
break;
}
case (AnchorPresets.HorStretchBottom):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
} case (AnchorPresets.VertStretchLeft):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
}
case (AnchorPresets.VertStretchCenter):
{
source.anchorMin = new Vector2(0.5f, );
source.anchorMax = new Vector2(0.5f, );
break;
}
case (AnchorPresets.VertStretchRight):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
} case (AnchorPresets.StretchAll):
{
source.anchorMin = new Vector2(, );
source.anchorMax = new Vector2(, );
break;
}
}
} public static void SetPivot(this RectTransform source, PivotPresets preset)
{ switch (preset)
{
case (PivotPresets.TopLeft):
{
source.pivot = new Vector2(, );
break;
}
case (PivotPresets.TopCenter):
{
source.pivot = new Vector2(0.5f, );
break;
}
case (PivotPresets.TopRight):
{
source.pivot = new Vector2(, );
break;
} case (PivotPresets.MiddleLeft):
{
source.pivot = new Vector2(, 0.5f);
break;
}
case (PivotPresets.MiddleCenter):
{
source.pivot = new Vector2(0.5f, 0.5f);
break;
}
case (PivotPresets.MiddleRight):
{
source.pivot = new Vector2(, 0.5f);
break;
} case (PivotPresets.BottomLeft):
{
source.pivot = new Vector2(, );
break;
}
case (PivotPresets.BottomCenter):
{
source.pivot = new Vector2(0.5f, );
break;
}
case (PivotPresets.BottomRight):
{
source.pivot = new Vector2(, );
break;
}
}
}
} _ImgTransform.SetAnchor(AnchorPresets.TopRight);
_ImgTransform.SetAnchor(AnchorPresets.TopRight,-,-); ImgTransform.SetPivot(PivotPresets.TopRight);

ugui代码设置ui锚点的更多相关文章

  1. 使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller,是模型(model)-视图(view)-控制 ...

  2. Android学习笔记(9):使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...

  3. Unity 用代码设置UGUI的渲染层级

    用代码设置UGUI渲染无非和三个API有关: 1.SetAsFirstSibling(); 2.SetAsLastSibling(); 3.SetSiblingIndex(n) SetAsFirstS ...

  4. 【转】代码控制UI,View

    [转]Android 步步为营 第5营 代码控制UI,View   http://www.cnblogs.com/vivid-stanley/archive/2012/08/22/2651399.ht ...

  5. android 后台代码设置动画

    1.设置旋转动画 final RotateAnimation animation =new RotateAnimation(0f,360f,Animation.RELATIVE_TO_SELF, 0. ...

  6. 一行代码设置TForm颜色的前世今生(属性赋值引起函数调用,然后发消息实现改变显示效果),TForm的初始颜色在dfm中设置了clBtnFace色

    来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程 ...

  7. 通过代码设置button中文字的对齐方式

    // button.titleLabel.textAlignment = NSTextAlignmentLeft; 这句无效 button.contentHorizontalAlignment = U ...

  8. cxf客户端代码设置设置访问用户名、密码、证书域名不匹配认证通过

    最近和第三方联调,需要调用对方的wsdl,但是调用必须的设置用户名.密码验证.在soapUI里面设置用户名.密码调用通过.但是怎么转换成JAVA代码呢,搜索了好多解决方案,现将代码截图如下: 1.SO ...

  9. 代码设置layout_weight attribute

    代码设置 LinearLayout权重比例之小结: 如果在LinearLayout添加子View,那么只有一个View的时候设置所占的比例一定要设置LinearLayout总weightsum.不然会 ...

随机推荐

  1. Python numpy数据的保存和读取

    在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现.类似的在 Python 中,我们可以用 nu ...

  2. Redis5新特性

    Redis5.0的12个新特性 1.数据类型Stream 本质上是一个消费者等待生产者发送新的数据 使用情景 其他五种数据结构无法实现的需求,可以通过stream来实现 直接贴近业务需求,提升开发效率 ...

  3. linux下的系统服务管理及日志管理

    1.ntsysv服务配置工具 用来配置哪些服务开启或关闭,图形界面,使用键盘来操作. 安装ntsysv服务的命令:yum install -y ntsysv 直接运行命令ntsysv 弹出配置界面: ...

  4. MongoDB入门_MongoDB特色

    1. sql数据库与nosql数据库对比 nosql不支持实时一致性转而支持数据的最终一致性,数据有一定的延迟 redis数据库支持部分事物,而mongodb不支持事物 nosql数据库没有多表联查功 ...

  5. hdu2955_Robberies 01背包

    有一个强盗要去几个银行偷盗,他既想多投点钱,又想尽量不被抓到.已知各个银行 的金钱数和被抓的概率,以及强盗能容忍的最大被抓概率.求他最多能偷到多少钱? 解:以概率为价值 问价值在合理范围背包的最大容量 ...

  6. warning MSB8030: The linker switch "Minimum Required Version" requires "SubS

    In the project properties, under Linker -> System, make sure that you set the SubSystem property ...

  7. 通过METAMASK调试和发布智能合约指南(转载)

    2017-12-07 芯链团队 小明微思考 原文地址:https://mp.weixin.qq.com/s?__biz=MzA4Mzk2MzUzNg==&mid=2651223347& ...

  8. 下载放在resource下面的excel文件

    1.将excel文件放项目resources目录下 2.打包的时候排除指定后缀文件,否则打包时会出现文件损坏的情况 <configuration> <encoding>UTF- ...

  9. 微信公众号接口类(PHP版本)

    [项目需求] 通过微信提供的接口,实现微信公众号与后端的应用程序数据交互.消息响应等功能. [项目疑难点] 理解接口工作方式,统一接口API,响应速度.安全性等   [代码举例]   WeixinAp ...

  10. java Collections.binarySearch 用法

    package testCollections; import java.util.ArrayList;import java.util.Collections;import java.util.Co ...