2010-09-05 43 views
1

我在一起測試幾個實用方法,我希望能夠從任意方法中彈出一個視圖 - 一個不必知道任何UIViewControllers或窗口。這可能嗎?從iPhone上的任意方法顯示視圖

例如,我正在準備自定義位置管理器Shim,以便在測試時可以手動注入位置數據。我想要一些方法來彈出一個MKMapView讓我選擇「當前位置」,而不是在代碼中手動輸入緯度/長度值。

回答

1

接受@ vodkhang的建議我查看了代碼並創建了自己的類別(UIView + ShowThySelf)以彈出任何任意方法的任意視圖。對於那些有興趣可以在github上

http://github.com/appsinyourpants/Pants-Framework

+0

謝謝,幹得好,我有時需要他們:) – vodkhang 2010-09-06 02:36:15

1

我認爲這是可能的,即使我不完全知道如何去做。我知道這是可能的原因,因爲我看到Facebook的FBConnectDDSocialLoginDialog圖書館做你所描述的。

FBConnect的源代碼和體系結構相當複雜,但DDSocialLoginDialog很容易獲取並提取所需的源代碼(2個類有4個文件和幾百行代碼)。兩者都是開源的。然後,我希望你可以修改源代碼,以便它可以添加MKMapView作爲子視圖

1

前面提到的方法總結可以發現,如果你想推出自己的代碼:

創建UIControl。編寫一個方法來消除該控件,並將其作爲目標添加到該控件中。將您想要在該控件內彈出的視圖作爲子視圖。用途:

[UIApplication sharedApplication] keyWindow] 

或(在你的應用程序有多個窗口,如VGA電纜支持極少數情況下):

[[[UIApplication sharedApplication] windows] objectAtIndex: 0] 

找到一個地方,添加子視圖(控制你創建)。添加它。

相關問題