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 操作sqlite数据库及保存查询numpy类型数据(一)

    # -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...

  2. 继续死磕python

    一.数据运算 算术运算 比较运算 赋值运算 逻辑运算 成员运算 身份运算 位运算 其中左右移运算是逻辑左右移即缺失位补0,而算数右移缺失补符号位(注意逻辑运算都是补码运算即都取补码再运算,然后结果也是 ...

  3. python--线程锁,队列

    #线程数据安全处理--同步锁 import time def sub(): global num print("ok") lock.acquire()#获取这把锁--->只有 ...

  4. 03python面向对象编程2

    3.继承 如果你要编写的类是另一个现成类的特殊版本,可使用继承.一个类继承另一个类时,它将自动获得另一个类的所有属性和方法:原有的类称为父类,而新类称为子类.子类继承了其父类的所有属性和方法,同时还可 ...

  5. 配置本地yum仓库

        前言 我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之.但是每次执行yum install x ...

  6. java实现队列和栈

    队列:队列其实就是我们生活中的排队现象,先进入的先出,后进入的后出,代码实现如下: public class Queue<E> { private int front;//队头一端,只允许 ...

  7. Django数据库查询优化与AJAX

    目录 数据库设计三大范式 orm相关的数据库查询优化 惰性查询 all.only与defer select_related与prefetch_related MTV与MVC模型 MTV(models ...

  8. LeetCode--142--环形链表II(python)

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 - ...

  9. handy源码阅读(六):tcp类

    首先是tcpconn和tcpserver类: struct TcpConn : public std::enable_shared_from_this<TcpConn>, private ...

  10. VGA驱动时序说明

    根据不同的显示器分辨率,需要不同的刷新频率. 其中显示模式中@60表示显示器1秒钟刷新60帧. 其中时钟(MHz),表示FPGA输出给显示器的时钟频率.需要我们配置PLL的时钟频率为对应频率. 其中行 ...