我有一个带有一个 View 和一个 subview 的 View Controller 。当设备方向更改时, View 会自动重绘,但 subview 不会。如果我明确执行 [subview setNeedsDisplay] 它会重绘,但我没有一个逻辑位置可以将该调用放入我的代码中。而且,由于我不必明确告诉 View 重绘,所以告诉 subview 重绘似乎是违反直觉的。有没有办法让 subview 在 View 重绘时自动重绘?
最佳答案
我发现以下内容有效。如果这不是最好的方法,请有人提供更好的方法。
在 subview.m
文件的 initWithFrame:
方法中包含以下内容
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.contentMode = UIViewContentModeRedraw;
尽管这有效并且非常适合我的代码,但我不明白为什么 subview 需要设置这些属性,而 View 不需要。
关于ios - 当设备方向发生变化时,导致 subview 重绘的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567807/