【问题标题】:Accessing self.view from a static library从静态库访问 self.view
【发布时间】:2011-09-02 15:01:18
【问题描述】:

所以我正在为 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”,以便我可以向应用程序屏幕添加视图?

【问题讨论】:

    标签: iphone uiview static-libraries subview


    【解决方案1】:

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

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

    我推荐 #1 而不是 #2。

    【讨论】:

    • 我测试了第二种方式...但是当我从我的 stati 库中调用 [[UIApplication sharedApplication] keyWindow] 时,窗口 il nil.. 为什么??
    猜你喜欢
    • 1970-01-01
    • 2015-07-22
    • 2012-06-29
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 2013-01-31
    相关资源
    最近更新 更多