简体   繁体   English

了解自动调整大小的属性和遮罩

[英]Understanding autoresizing property and masks

In terms of the images, to which image does the value UIViewAutoresizingNone correspond to when set on a view? 就图像而言,在视图上设置时, UIViewAutoresizingNone值对应于哪个图像?

在此处输入图片说明

You are right the image you shown is equivalent to UIViewAutoresizingNone . 您说对了,所显示的图像等效于UIViewAutoresizingNone

The Autosizing, you can see from Interface Builder is something like, 您可以从Interface Builder中看到Autosizing,

在此处输入图片说明

While programmatically these struts behave ' reversed ' of above image like, 这些支柱在程序上的行为类似于上图的“ 反转 ”,

在此处输入图片说明

Here are some example for AutoSizingMask - Programmatically vs XIB. 这是AutoSizingMask的一些示例-以编程方式vs XIB。

  • ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ) is equivalent to UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin |UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin ) is equivalent to UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin |UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin )等效于

在此处输入图片说明

  • UIViewAutoresizingNone is equivalent to UIViewAutoresizingNone等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin ) is equivalent to UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin ) is equivalent to UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ) is equivalent to UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ) is equivalent to UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth ) is equivalent to UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth )等效于

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin ) UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin

在此处输入图片说明

Do this for the UIViewAutoresizingNone : UIViewAutoresizingNone执行此UIViewAutoresizingNone
在此处输入图片说明

And for the future reference just use the side example which shows how your Autosizing will behave: 为了将来参考,请使用侧面示例,该示例显示了自动调整大小的行为:

在此处输入图片说明

Yes, the image in your question means UIViewAutoresizingNone . 是的,您问题中的图像表示UIViewAutoresizingNone The bars on the outside being set mean 'non-flexible' but the arrows on the inside being set means flexible . 设置在外侧的条表示“不灵活”,但是设置在内侧的箭头表示“ flexible

Note that if you try to set UIViewAutoresizingNone and then resize the superview it won't be respected as something has to change. 请注意,如果您尝试设置UIViewAutoresizingNone ,然后调整UIViewAutoresizingNone视图的大小,则由于必须进行某些更改,因此不会受到尊重。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM