3

在包含多个子视图的视图中,其中一个子视图应与父视图的顶部和底部保持固定的非零距离。在这些图像中,此视图显示为灰色:

肖像

景观

根据文档,这个视图应该有一个掩码UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth。但是,这会导致视图扩展其高度以接管整个超级视图。如何将视图包含在固定但非零的边距?谢谢。

4

1 回答 1

2

UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth应该管用。

但是,当父视图的高度/宽度变小时(并且当它变为零时一切都中断)时,UIView 自动调整大小存在一个错误——它可能只是 UIView 高度/宽度不能为负数。

我在做 initWithFrame:CGRectZero; 时遇到了这个问题;如果您使用subview.frame = self.boundsself.bounds 为 CGRectZero (或其他小)之类的东西,也可能会发生这种情况。

我的蛮力调试方法是覆盖 setFrame: 和 setBounds: 添加一个 NSLog。

于 2010-08-18T00:08:54.730 回答