2016-08-15 31 views
1
let dialog: FriendCheckInDialogViewController = storyboard?.instantiateViewControllerWithIdentifier("FriendCheckInDialogViewController") as! FriendCheckInDialogViewController 
dialog.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext 

如果我使用透明的ViewController的工作,但不是pushViewController

self.navigationController?.presentViewController(dialog, animated: false, completion: nil) 

然後透明的工作。但popToRootViewControllerAnimated不,所以我不能回去。

如果我使用

self.navigationController?.pushViewController(dialog, animated: false) 

然後背景變成黑色,而不是透明的。但popToRootViewControllerAnimated的作品,所以我可以回去。

我該怎麼辦?

+2

你想呈現你的視圖控制器模態或導航堆棧的一部分?如果你使用presentViewController,那麼它是模態的,你需要使用dismissViewController。如果使用導航控制器和堆棧,那麼你可以在前面的視圖控制器的頂部呈現透明 – Paulw11

+1

@ Paulw11酷,工作,謝謝你。讓它成爲答案。新的iOS開發,所以沒有找到這種方法,容易 –

回答

1

您似乎在混合不同的演示文稿樣式。

如果您使用presentViewController以模態方式呈現視圖控制器,那麼您可以使用dismissViewController將其解除關閉。在這種情況下,您可以在當前視圖控制器上以模態方式呈現視圖控制器。

如果您將視圖控制器推到導航控制器堆棧上,那麼您可以將該視圖控制器彈回,但推送的視圖控制器會替換當前的視圖控制器,因此不能將其暴露在「下方」。

+0

我猜,你可以使用「截圖」的方法,如果你真的很想...... – Fattie

相關問題