从静态库访问self.view

时间:2011-09-02 15:01:18

标签: iphone uiview static-libraries subview

所以我正在为iOS制作一个静态库。基本上我希望人们可以这样打电话:

[MyStaticLibrary showview]

我的静态库将子视图添加到当前视图中。通常我可能会这样做:

CGRect mainframe = [[UIScreen mainScreen] bounds];
UIView *mView = [[UIView alloc] initWithFrame:mainframe];
//Add some stuff to the view
[self.view addSubview:mView];

但xcode抱怨,理所当然,我无法从静态库访问self.view,因为我目前在静态库中使用NSObject。反正我是否可以从静态库中访问“self.view”,以便将视图添加到应用程序屏幕?

1 个答案:

答案 0 :(得分:3)

1)您可以将showview方法调整为showViewInParentView:,并允许来电者为您提供所需的视图。

2)您可以使用[[[UIApplication sharedApplication] keyWindow] addSubview:mView]将库的视图直接添加到窗口,确保它位于顶部。

我推荐#1超过#2。