【发布时间】:2015-07-22 04:12:54
【问题描述】:
所以这是我遇到过的最奇怪的事情。
我在UIViewController 上的UIView 之上添加了一个简单的UIView。我将大小更改为 200 x 200,然后我想通过将这行代码放在 viewDidLoad 方法中来更改 UIView 的大小:
self.gameBackgroundView.frame.size.height = 10
这在 Swift 中似乎很正常。虽然,什么都没有发生。我可以更改颜色、圆角半径等...
编辑:
我还从该视图中删除了所有约束,但它仍然不起作用。
【问题讨论】:
-
两件事。我记得在 Obj-C 中,您必须更改整个框架属性才能更新视图。另一件事是,如果您设置了自动布局约束,它将忽略帧更改。
-
我在另一个 UIView 上设置了 4 个约束,这是否适用于我的另一个为什么我要更改哪个框架?
-
你能展示你如何创建视图并将其添加为子视图吗?
-
我打开我的故事板,在我的 UIViewController 顶部拖动一个新的 UIView,更改背景颜色以便我可以看到框架的变化,并在相应的类文件中创建一个 IBOutlet
-
如果你没有在 InterfaceBuilder 中设置约束,一些约束会被自动添加。查看
gameViewBuilder.constraints。还要确保gameViewBuilder.translatesAutoResizingMaskToConstraints为真。