我正在实现一个使用SideMenuController来显示侧边菜单的iOS应用程序。按下菜单按钮时,中央控制器移动到带过渡的一侧,并显示侧面板。
问题是我需要在剩余的中央控制器上绘制一个半透明的覆盖层。显示侧面板时,将调用协议委托函数sideMenuControllerDidReveal
。如果我尝试添加子视图或以任何方式更改中央视图控制器的属性,则只有在隐藏侧面板并且中央视图控制器再次成为中心时才会生效。
public func sideMenuControllerDidReveal(_ sideMenuController: SideMenuController) {
let coverView = UIView(frame: UIScreen.main.bounds)
coverView.backgroundColor = UIColor.black.withAlphaComponent(0.6)
sideMenuController.centerViewController.view.addSubview(coverView)
sideMenuController.centerViewController.view.setNeedsDisplay()
}
我正在尝试使用view.setNeedsDisplay()
强制更新UI,但UI仍然无法更新。
什么阻止视图获得更新?
感谢。