Ios 修改UIView上自动调整大小的工作方式?

Ios 修改UIView上自动调整大小的工作方式?,ios,view,uiview,autoresize,autoresizingmask,Ios,View,Uiview,Autoresize,Autoresizingmask,我有一个UIView,它的大小适合整个屏幕,每边减去5个像素。我已将其设置为自动调整大小,但这会使视图一侧失去5个像素,并在水平翻转时完全填充两侧。我需要5像素的缓冲存在于所有方向。我有没有办法调整自动调整大小的工作方式来实现这一点 我的代码: [newsfeed setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 另外,我从故事板中拖入了许多视图中的一个,而该视图不响应上面的代码。如何使其自动调整大小 当您还指定上下页边距是灵活的时,实

我有一个UIView,它的大小适合整个屏幕,每边减去5个像素。我已将其设置为自动调整大小,但这会使视图一侧失去5个像素,并在水平翻转时完全填充两侧。我需要5像素的缓冲存在于所有方向。我有没有办法调整自动调整大小的工作方式来实现这一点

我的代码:

[newsfeed setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

另外,我从故事板中拖入了许多视图中的一个,而该视图不响应上面的代码。如何使其自动调整大小

当您还指定上下页边距是灵活的时,实际上可以说左右页边距是固定的。试试这个:

[newsfeed setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin];
正如其他人所评论的,这在带有弹簧和支柱的Interface Builder中更容易实现:


您确实应该在情节提要中定义它,但您的代码可以工作。您需要确保所有SuperView也能适当调整大小。我的大多数视图都是在代码中动态创建的,还有办法在故事板中设置吗?另外,对于在故事板中添加的一个,通常带有自动调整大小视图的框没有显示,我该如何实现?我不希望左右边距是固定的,只是自动调整大小以占据大部分屏幕长度减去垂直位置的5个像素。当我在视图中设置UIViewAutoresizingFlexibleTopMargin时,我的视图试图填充整个屏幕,这不是期望的行为。我想顶部和底部应该是固定的。@redIago,如果您的视图最初放置为左右边距为5像素,则上面的遮罩会保留这些边距。它将水平延伸,以使用所有可用空间,保留这些边距。在实现代码后,我的视图已完全消失。@在之前,请尝试发布更多代码(您最初放置视图的位置)。我已签署NDA,无法发布大部分代码。如何设置边距以保持5像素的效果?我已经用CGRect硬编码了它,比如CGRectMake(5,0310100)。是否有更好的方法支持自动调整大小?