我已經編寫了第三方框架,它在調用應用程序的現有視圖之上顯示UIView,即,應用程序調用框架/ SDK,並且SDK在其上顯示UIView目前正在屏幕上查看。消息以UIView作爲委託傳遞
這是通過使用代表完成的。該應用程序將當前視圖設置爲框架的委託。該框架然後使用該委託,並使用代碼添加自己的UIView作爲一個子視圖:
[[self delegate] addSubview:myVc.view];
其中myVc
是的ViewController的框架。
現在我需要傳遞一個方法回調用應用程序說視圖顯示在屏幕上。因爲委託是一個UIView,我如何將消息傳遞給調用類?
我之所以要求使用UIView委託,是因爲我的UIView只佔用屏幕的一部分,我需要屏幕的其他部分來顯示應用程序的其餘部分並處於活動狀態。當我使用ViewController作爲代理時,它導致屏幕的另一部分變成黑色而不是透明。
所以我的問題是如何將消息傳遞給調用應用程序,該應用程序調用SDK並將其視圖設置爲委託。謝謝
我無法控制應用程序。所以不能使用通知選項。你能詳細說明一下嗎?謝謝 –
不管你做什麼,調用你的框架的部分都必須實現當你告訴它動作完成時有反應的東西。在我提到的選項中,它可以偵聽通知,或者可以傳入爲呼叫者執行的某些代碼(塊)。如果您需要更多關於塊如何工作的信息,請嘗試使用Apple的在線Objective-C文檔。但是,無論你「發送」什麼,都必須準備好「接收」它。 –