如何在UITableViewController上添加一个禁用用户交互的模式视图
问题描述:
我希望能够在我的表视图前添加一个模式视图,该视图是相对于视图而不是相对于视图显示的表格视图(如图所示)1。另外我该如何防止用户与表格交互。我还包含了用于为我的视图添加动画的代码。提前致谢!如何在UITableViewController上添加一个禁用用户交互的模式视图
func newPersonAnimateIn() {
self.overlayView.transform = CGAffineTransform.identity
self.view.addSubview(overlayView)
overlayView.center = self.view.center
overlayView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
overlayView.alpha = 0
UIView.animate(withDuration: 0.4) {
//self.visualEffectView.effect = self.effectHolder
self.overlayView.alpha = 1
self.overlayView.transform = CGAffineTransform.identity
}
personName.becomeFirstResponder()
}
func newPersonAnimateOut() {
self.view.endEditing(true)
UIView.animate(withDuration: 0.3, animations: {
self.overlayView.alpha = 0
self.overlayView.transform = CGAffineTransform.identity
}){(success:Bool) in
self.overlayView.removeFromSuperview()
}
personName.text = ""
}
@IBAction func addPerson(_ sender: UIBarButtonItem) {
newPersonAnimateIn()
}
@IBAction func continueButton(_ sender: Any) {
newPersonAnimateOut()
}
答
也许这将是不够的:
self.tableView.isUserInteractionEnabled = false
或创建模式视图下的另一个观点,即覆盖全屏幕,并设置isUserInteractionEnabled =假
也许一个重要的评论:不要做这样的视图与alpha == 0.0它应该是比零更多的东西。 (1.0 ==完全不透明) –
感谢您的回应和反馈,这些都可以按需使用! –