所以我正在为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”,以便将视图添加到应用程序屏幕?
答案 0 :(得分:3)
1)您可以将showview
方法调整为showViewInParentView:
,并允许来电者为您提供所需的视图。
2)您可以使用[[[UIApplication sharedApplication] keyWindow] addSubview:mView]
将库的视图直接添加到窗口,确保它位于顶部。
我推荐#1超过#2。