2011-06-01 51 views
1

我有一個很難讓我的頭圍繞定製代表團 - 我將不勝感激,如果有人可以幫助我:UIView的需要推動一個UIViewController(代表團)

我有一個標籤欄控制器的UIViewController ,每一個都包含一個子類UIView。在其中一個視圖中,我有一個UIButton,我想在其中加載一個UIDocumentInteractionController。我已經有了執行第二部分的代碼,因爲文檔控制器需要訪問UIViewController以便被推送到堆棧。

但是我的UIView如何訪問UIViewController?

我讀過的東西過多所以今晚上,如:

  • 它不能做
  • 設置的UIViewController的UIView的的屬性,因此它知道它屬於
  • 上的UIViewController
  • 代表團

我可以高興地打我的-(void)buttonPressed: (id)sender調用nextResponder方法,但它應該從哪裏開始實施授權?它應該只是像[delegate documentRequested: sender]這樣假設這個方法存在於我的視圖控制器中?

在此先感謝您的幫助。

回答

2

我最近發佈了關於如何使用自定義代表團的詳細答案。你可以看看這裏:dismissModalViewController AND pass data back

你想要做的是在你的UIView中實現協議,並將UIViewController設置爲委託。

爲了幫助您更好地理解鏈接的答案,在答案中,secondviewcontroller相當於您的UIView,而firstviewcontroller相當於您的UIViewController。

+0

太棒了,非常感謝你。我有它的工作,這是完美的。我認爲我從鏈接答案的代碼中遺漏的區域是將委託設置爲屬性和respondsToSelector調用的漠不關心。在你的例子中,用戶能夠在委託方法中傳遞一個字符串。 1項是我可以發回給我的UIViewController的限制嗎? – Luke 2011-06-02 09:14:02

+0

不!這就是它的美妙之處....你可以傳遞許多參數(對象引用,原語等......就像普通方法一樣):) – Sid 2011-06-02 14:20:38

+1

對於多個參數,如果check的話respondstoselector看起來有點不同。我編輯了這個答案,因爲這是我應該提到的東西,所以你可以檢查出來...... :) – Sid 2011-06-02 14:26:55