setAutoresizingMask以编程方式发布

时间:2014-08-25 22:24:34

标签: ios objective-c iphone ipad

我在“界面”构建器上创建了UIView,并添加了另一个UIView(图表)作为子视图,我以编程方式创建。我使用iOS自定义转换玩了一下,但即使使用autoresizingMask,子视图也不会改变。 这是我正在使用的面具:

#define UIViewAutoresizingFlexibleMargins \
UIViewAutoresizingFlexibleTopMargin | \
UIViewAutoresizingFlexibleBottomMargin | \
UIViewAutoresizingFlexibleWidth

但这是结果: enter image description here 原始

enter image description here

转换后

看起来图表并没有对转换作出反应。如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

创建视图时,将其设置为框架的宽度是视图的宽度(假设您想要的是什么),并且只需添加灵活的宽度,视图应缩小/根据超级视图的大小增长。

UIView *yourView = [[UIView alloc] initWithFrame:CGRectMake(x, y, CGRectGetWidth(self.view.frame), height)];
yourView.autoResizingMask = UIViewAutoresizingFlexibleWidth;

答案 1 :(得分:0)

如果您按照说法正确设置了遮罩,并且视图没有自行调整大小, 这意味着您还在使用AutoLayout。在这种情况下,它可以阻止自动调整遮罩

转到 nib属性(检查员)并停用autolayout(或进行调整)。