0

为简单起见,我使用 Interface Builder 布置了一个视图。这是一个玩家状态视图,用于当前正在玩的所有“x”玩家。为了容纳大量玩家,我们选择根据玩家数量调整玩家视图的大小和位置。

例如,如果只有两个玩家,则 2 个玩家的视图将占据屏幕的大部分。但是,如果有 4 个,则每个仅占屏幕的大约 1/4。

似乎使用“自动调整子视图”和各种支柱,控制视图会相当容易。然而,相反,我发现了很多意想不到的行为。

每当我想改变视图大小时,我都会调用 setFrame。但是,如果任何小于 XIB 中使用的原始布局大小,视图不会正确缩小,而是以 XIB 布局的大小绘制。

根据我遇到的麻烦,我预计我不会以预期的方式这样做。有人可以为我指明正确的方向,以指定视图及其组件布局然后调整其大小的正确方法吗?(我宁愿不使用 CGAffineTransform ...)

4

1 回答 1

0

听起来容器视图没有设置 autoresizesSubviews。(在界面生成器中,它是一个名为“自动调整子视图”的复选框)。

于 2013-02-04T23:23:09.270 回答