【问题标题】:Show UIViewController in Framework by calling a method通过调用方法在框架中显示 UIViewController
【发布时间】:2014-07-11 22:08:37
【问题描述】:

我正在为第三方开发人员制作一个框架,该框架将创建一个类似于插页式广告的视图。 这就是我从 Applications RootViewController 类创建 myViewController(inside Framework) 对象的方式。

myViewController *ViewController =[[myViewController alloc]initWithNibName:@"myViewController" bundle:nil];

目前我可以通过这样做在测试应用中加载我的视图

[self.view addSubview:ViewController.view];

相反,我希望第三方开发人员像调用我的方法(showScreen)一样

    [ViewController showScreen];

这应该通过进入 myViewController 类的 viewDidLoad 或 init 来创建视图。

这是我的rootviewcontroller函数的样子

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     myViewController *ViewController =[[myViewController alloc]initWithNibName:@"myViewController" bundle:nil];
     [self.view addSubview:ViewController.view]; //Dont Want to use this
//   [ViewController showScreen];          //Want to use something like this

}

这会打开我附加到 myViewController 的 xib 文件

 @implementation myViewController

 - (void)viewDidLoad {
     [super viewDidLoad];
 }

【问题讨论】:

    标签: ios objective-c ios7 uiviewcontroller ios-frameworks


    【解决方案1】:

    我相信如果你使用frameworkstatic library无论什么...

    您可以直接从根视图控制器呈现UIViewController

    - (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion NS_AVAILABLE_IOS(5_0);
    

    f.e

    [self presentViewController:yourViewController animated:animated completion:completionHandler];
    

    或者您可以将根 viewController 传递给您自己的 UIViewController 以从中呈现

    [yourViewController showFromViewController:self];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 2016-09-07
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      相关资源
      最近更新 更多