iOS开发 autoResizingMask使用

autoResizingMask 是UIView的一个属性,在一些简单的布局中,使用autoResizingMask,可以实现子控件相对于父控件的自动布局。

autoResizingMask 是UIViewAutoresizing 类型的,其定义为:

@property(nonatomic) UIViewAutoresizing autoresizingMask;    // simple resize. default is UIViewAutoresizingNone

UIViewAutoresizing 是一个枚举类型,默认是 UIViewAutoresizingNone,其可以取得值有:

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
};

各属性解释:

UIViewAutoresizingNone

不会随父视图的改变而改变

UIViewAutoresizingFlexibleLeftMargin

自动调整view与父视图左边距,以保证右边距不变

UIViewAutoresizingFlexibleWidth

自动调整view的宽度,保证左边距和右边距不变

UIViewAutoresizingFlexibleRightMargin

自动调整view与父视图右边距,以保证左边距不变

UIViewAutoresizingFlexibleTopMargin

自动调整view与父视图上边距,以保证下边距不变

UIViewAutoresizingFlexibleHeight

自动调整view的高度,以保证上边距和下边距不变

UIViewAutoresizingFlexibleBottomMargin

自动调整view与父视图的下边距,以保证上边距不变

 

 

 

 

 

 

 

 

 

 

 

注意:autoResizingMask 既可以在代码中直接使用,也可以在UIStoryboard中使用。

一个代码中使用autoResizingMask的例子:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];UIViewController *viewController = [[UIViewController alloc] init];self.window.rootViewController = viewController;self.window.backgroundColor = [UIColor whiteColor];UIView *view = [[UIView alloc] initWithFrame:CGRectMake(20,100,200,100)];[view setBackgroundColor:[UIColor grayColor]];[self.window addSubview:view];UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(20,20,50,50)];[button setBackgroundColor:[UIColor whiteColor]];[view addSubview:button];//距离父视图右边距不变//button.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;//距离父视图的左边距不变//button.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;//距离父视图的左右边距不变,button大小会调整//button.autoresizingMask = UIViewAutoresizingFlexibleWidth;//view.frame = CGRectMake(20,100,300,100);//距离父视图的下边距不变//button.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;//距离父视图的上边距不变//button.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;//距离父视图的上下边距不变,button大小会调整button.autoresizingMask = UIViewAutoresizingFlexibleHeight;view.frame = CGRectMake(20,100,200,200);[self.window makeKeyAndVisible];return YES;
}

另外,autoResizingMask 可以组合使用。例如:

button.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin;

表示的是,子控件相对于父控件的顶部和右侧的距离不变。

转载于:https://www.cnblogs.com/acBool/p/5175998.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程

OpenCV学习笔记&#xff08;一&#xff09;&#xff1a;Win10(x64)Qt5.8(MSVC2013)OpenCV3.1.0配置过程 Win10(x64)Qt5.8(MSVC2013)OpenCV3.1.0配置过程 配置需求 原版 Win10(x64) Qt5.8(MSVC2013) OpenCV3.1.0 第一步&#xff1a;安装QT 5.8 和OpenCV3.1.0 并配置环境变量…

Windows10安装TeXlive和TeXstudio

参考https://blog.csdn.net/aiwei169/article/details/81431363 进入官网http://tug.org/texlive/ 第一步 第二步 第三步 第四步 等待 安装包下载 解压下载的文件&#xff0c;将解压后的安装包放在英文路径下&#xff08;即不要包含中文的路径&#xff09; 修改安装路径&am…

QT环境配置:QT5.8.0与VS2013环境配置

QT环境配置&#xff1a;QT5.8.0与VS2013环境配置 1、下载VS2013&#xff0c;QT5.8.0&#xff0c;qt-vs-tools-msvc2013-2.1.1。 1&#xff09;VS2013版本为&#xff1a;Visual Studio Ultimate 2013 2&#xff09;QT5.8.0版本为&#xff1a;qt-opensource-windows-x86-msvc20…

云计算与边缘计算协同的九大应用场景剖析

来源 | 中国信息通信院CAICT未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&…

QT学习笔记(十三):绘制图像

QT学习笔记&#xff08;十三&#xff09;&#xff1a;绘制图像 paintEvent() 事件源码添加&#xff1a; #include <QPainter> #include <QImage> #include <QPixmap> #include <QBitmap> #include <QPicture>void Widget::paintEvent(QPaintEve…

【Robot学院】一文读懂世界智能制造大趋势!

本文来源&#xff1a;智造智库工业4.0在德国被认为是第四次工业革命&#xff0c;主要是指&#xff0c;在“智能工厂”利用“智能设备”将“智能物料”生产成为“智能产品”&#xff0c;整个过程贯穿以“网络协同”&#xff0c;从而提升生产效率&#xff0c;缩短生产周期&#x…

BZOJ-4300 绝世好(蛋疼)题 DP(递推)

翻zky学长的blog时翻出来的.....4300: 绝世好题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 736 Solved: 393 [Submit][Status][Discuss] Description 给定一个长度为n的数列ai&#xff0c;求ai的子序列bi的最长长度&#xff0c;满足bi&bi-1!0(2<i<len)。 …

LaTeX的表格标题位置

现有一个表格&#xff0c;若要把表格标题放在表格下面&#xff0c;则把\caption{***}这一行代码放在下面&#xff0c;如下所示&#xff1a; \begin{table}[H]\renewcommand{\arraystretch}{1.3}\centering\begin{tabular}{c|cc|cc}\hline\hline\end{tabular}\caption{***}\lab…

java标识接口

标识接口是没有任何方法和属性的接口&#xff0c;标识接口不对实现类有任何语义上的要求&#xff0c;仅仅表明它的实现类属于一个特定的类型。它非常类似于Web 2.0中的TAG的概念&#xff0c;Java使用它标识某一类对象。主要有两个用途&#xff1a;第一&#xff0c;通过接口标识…

QT学习笔记(十四):QLayout的属性介绍

QT学习笔记&#xff08;十四&#xff09;&#xff1a;QLayout的属性介绍 主要包括QBoxLayout、和QGridLayout以及QFormLayout等的参数类似。 我主要说明一下QGridLayout在QtDesigner中它的属性的意义&#xff0c;以及QFormLayout的部分属性 一、QGridLayout属性介绍 1、QGri…

查找所引用的文献在某种期刊下的引用格式(引用风格)

当我们要引用一篇文献时&#xff0c;常常需要知道这篇文献在某种期刊下的引用格式是怎样的。举个例子&#xff0c;我需要查找“Gradient-based learning applied to document recognition”这篇文献在Neuroimage期刊下的引用格式怎么写。 首先在谷歌学术上搜索“Gradient-base…

web desktop在线演示

http://mydesk.sinaapp.com基于extjs的web desktop应用框架。 1、跨浏览器2、动态载入所需css,js文件3、权限管理4、支持多语种5、支持asp,jsp,php6、Sql server2008数据库QQ: 623076512 Email&#xff1a; mychirs21cn.com 转载于:https://www.cnblogs.com/mengfanrong/p/5…

贝叶斯网络之父:当前的机器学习其实处于因果关系之梯的最低层级

来源&#xff1a;大数据文摘每当提起“无人驾驶”汽车技术如何强大&#xff0c;又被大众赋予了怎样的期待&#xff0c;都会让人想起HBO电视剧Silicon Valley《硅谷》中的一个情节&#xff1a;硅谷大亨风险资本家Gregory的助手安排了一辆无人驾驶汽车送创业公司的小员工Jared回家…

QT学习笔记(十五):QLabel的点击事件(clicked)添加

QT学习笔记&#xff08;十五&#xff09;&#xff1a;QLabel的点击事件&#xff08;clicked&#xff09;添加 Qt之添加QLabel的点击事件 QLabel功能为显示了一个字符串或者图片等信息&#xff0c;它本身没有click信号。也就不能够响应click点击事件&#xff0c;有什么办法来实…

引用文献管理软件Mendeley

Mendeley是一款强大的文献管理软件&#xff0c;只需要把引用的文献导入进去&#xff0c;就可以生成各种风格的文献引用格式 首先去官网下载Mendeley&#xff1a;https://www.mendeley.com/download-desktop/ 安装好&#xff0c;打开后点击add添加文献&#xff1a; 添加文献的方…

​忆阻器会成为“存储墙”的破局者么

来源&#xff1a;半导体行业观察在计算量和数据量变得越来越大的今天&#xff0c;计算和存储成为了下一步科技发展中要面临的两座大山&#xff0c;下一代高性能计算机系统必须突破存储墙问题。在过去&#xff0c;这两者一直都是各自发展&#xff0c;再通过下游产品产生交集。但…

Halcon学习笔记(一):Qt+Halcon联合开发配置

Halcon学习笔记(1)&#xff1a;QtHalcon联合开发配置 首先是新建一个QT项目qtest_hc 方法一&#xff1a; 1)QT项目文件 qtest_hc 添加库&#xff1a; #1.包含目录添加 INCLUDEPATH D:/MVTec/HALCON-13.0/include INCLUDEPATH D:/MVTec/HALCON-13.0/include/halconcpp#2.链…

Elsevier LaTeX时间-年份(author-year)两种引用格式

Elsevier的时间-年份&#xff08;author-year&#xff09;引用格式有两种 假如现在需要用author-year格式引用一篇文献&#xff0c;首先在LaTeX文件开头加入这一句&#xff1a; \documentclass[preprint,12pt,authoryear]{elsarticle} 然后把这篇文献写成author-year格式&…

C1. 组队活动 Small(BNUOJ)

C1. 组队活动 SmallTime Limit: 1000msMemory Limit: 131072KB64-bit integer IO format: %lld Java class name: MainSubmit Status PID: 51280BNU ACM校队一共有名队员&#xff0c;从到标号&#xff0c;现在名队员要组成若干支队伍来相互学习、共同进步&#xff0c;为了…

窥见人工智能四十年 2019 CCF-GAIR全球人工智能与机器人峰会今日开幕

编者按&#xff1a;7月12日-14日&#xff0c;2019年全球人工智能与机器人峰会&#xff08;CCF-GAIR&#xff09;正式开幕&#xff0c;该峰会由中国计算机学会&#xff08;CCF&#xff09;主办&#xff0c;雷锋网、香港中文大学&#xff08;深圳&#xff09;承办&#xff0c;深圳…