简体   繁体   中英

Understanding autoresizing property and masks

In terms of the images, to which image does the value UIViewAutoresizingNone correspond to when set on a view?

在此处输入图片说明

You are right the image you shown is equivalent to UIViewAutoresizingNone .

The Autosizing, you can see from Interface Builder is something like,

在此处输入图片说明

While programmatically these struts behave ' reversed ' of above image like,

在此处输入图片说明

Here are some example for AutoSizingMask - Programmatically vs XIB.

  • ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ) is equivalent to

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin |UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin ) is equivalent to

在此处输入图片说明

  • UIViewAutoresizingNone is equivalent to

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin ) is equivalent to

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin ) is equivalent to

在此处输入图片说明

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

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ) is equivalent to

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth ) is equivalent to

在此处输入图片说明

  • ( UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin )

在此处输入图片说明

Do this for the 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 . The bars on the outside being set mean 'non-flexible' but the arrows on the inside being set means flexible .

Note that if you try to set UIViewAutoresizingNone and then resize the superview it won't be respected as something has to change.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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