2017-08-06 64 views
0

我希望能夠在我的表視圖前添加一個模式視圖,該視圖是相對於視圖而不是相對於視圖顯示的表格視圖(如圖所示)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() 
} 

回答

1

也許這將是不夠的:

self.tableView.isUserInteractionEnabled = false 

或創建模式視圖下的另一個觀點,即覆蓋全屏幕,並設置isUserInteractionEnabled =假

+0

也許一個重要的評論:不要做這樣的視圖與alpha == 0.0它應該是比零更多的東西。 (1.0 ==完全不透明) –

+0

感謝您的迴應和反饋,這些都可以按需使用! –

相關問題