2015-07-02 26 views
3

我想使用導航控制器顯示一個視圖控制器清晰的背景色 - swift。推到清晰的背景在第二視圖控制器

let nextViewController = SettingViewController(nibName: "SettingViewController", bundle: nil) 
    nextViewController.view.backgroundColor = UIColor.clearColor() 
    nextViewController.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext 
    self.navigationController?.pushViewController(nextViewController, animated: true) 

但它不工作。 上面的代碼工作時,我提出第二個視圖,但不與導航控制器一起工作。

+0

你爲什麼不在awakeFromNib的nextViewController中設置你的bg顏色? –

+0

此外,如果你想要的模態視圖,你應該提出 - 不推動 – Miknash

+1

只有bg清除顏色不工作,由於在iOS-8更新。並請爲我推薦任何屬性或方法(導航控制器)。我不想用現在。 – Alok

回答

1

我嘗試過很多方法,但沒有得到任何可行的解決方案。實際上,導航控制器的問題在於,當前視圖動畫從左向右從nextViewController開始移動,而在iOS-8中,沒有選項可以清除視圖控制器背景(實際上,您可以在另一個白色對象出現在此位置)。所以我們不能在這種情況下使用導航視圖。

存在視圖控制器的問題:如果您的應用程序在導航控制器上運行,我們無法使用當前視圖控制器,因爲您無法在呈現任何視圖控制器之後使用推送其他視圖控制器,因此此解決方案在此方案中無用。

解決方案:最後,我在當前控制器上添加了帶有動畫的nextViewController視圖。但條件是全局採用nextViewController引用,否則nextViewController按鈕操作和其他一些操作將不起作用,應用程序將崩潰。 因此,只需要採用nextViewController的全局引用,並在您想要的動畫中添加presentViewController上的nextViewController視圖,並隨時刪除(現在您可以根據需要放置視圖不透明度和顏色)。 這是完美的,因爲我想要的。

相關問題