我有一个用于“设置 View ”的 Controller ,用户可以在其中更改我的 MyView View 中所绘制内容的某些属性。但是,我不知道如何在 MyView 而不是我的 SettingsView 上调用 setNeedsDisplay。
MyView 是一个 UIView,它有自己的 Controller MyViewController。
在此 View 中,我正在绘制一种具有不同颜色的矩形。在 SettingsViewController 中,我更改了一个参数,该参数影响在 MyView 中绘制的矩形类型。然而,要做到这一点,用户必须(他们在不同的选项卡上)切换 View ,并执行一些操作以便调用 setNeedsDisplay。我正在尝试从 SettingsViewController 调用 setNeedsDisplay,但我不能执行 self.view setNeedsDisplay,因为它会在 MyView 上调用 setNeedsDisplay。这样更有意义吗?
您只需在要重绘的 View 上调用setNeedsDisplay
。因此,如果您在 SettingsViewController
中,则需要 MyViewController
的句柄。您提到您在 TabBarController
中,因此您可以通过它访问 View 。例如(假设 MyViewController 是第一个选项卡,而您在另一个选项卡中的 SettingsViewController 中):
[[self.tabBarController.viewControllers[0] view] setNeedsDisplay]
Tôi là một lập trình viên xuất sắc, rất giỏi!