2010-09-05 42 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] 

找到一个地方,添加子视图(控制你创建)。添加它。

相关问题