2011-07-30 100 views
0

我有一個UIViewController,它被推送到我的應用程序中的兩個不同的視圖。如何更改相同UIViewController的UIButton?

有一次它是一個模態視圖,所以我有正確的navbar按鈕設置爲Done,它關閉了視圖。

在我的應用程序的另一次,這個相同的觀點被推到,但不是模態,因此我不希望這個按鈕顯示。我試圖在推動時添加這個,但沒有運氣。

self.navigationItem.rightBarButtonItem.enabled = NO;

回答

1

簡單而有效 -

self.navigationItem.rightBarButtonItem = nil; 

編輯:

當你推動這個時,你如何添加這個?將其添加到您要查看此文件的viewController的viewWillAppearviewDidLoad中。

您可以檢查某個條件。

  1. 如果將它從視圖1中推入,則可以使其爲零。
  2. 如果從視圖2以模態方式顯示,您可以使其顯示。

爲此,您將不得不使viewControllers相互通信。爲此,您將需要使用NSUserDefaults併爲密鑰設置一個整數。

您可以在邏輯上分配兩個不同的整數,並將它們用作顯示/不顯示rightBarButtonItem的條件。

祝你好運。

+0

我嘗試添加此時,從類不推出該視圖,但它仍然顯示按鈕。 – Jon

+0

檢查編輯..... – Legolas

2

您可以檢查父視圖控制器,它是否有modalViewController屬性設置

if (self.parentViewController.modalViewController == self) 
{ 
    // add button 
} 
+0

出於某種原因,即使在模態視圖中也不顯示。這是一個模式的觀點,但接下來有3個觀點在下降。 – Jon