通过调用方法在Framework中显示UIViewController

时间:2014-05-22 18:01:42

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

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

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

目前我可以通过

在测试应用中加载我的视图
[self.view addSubview:ViewController.view];

相反,我希望第三方开发人员像

一样调用我的方法(showScreen)
    [ViewController showScreen];

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

这是我的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];
 }

1 个答案:

答案 0 :(得分:0)

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

就没有区别了

您可以直接从root viewController

呈现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];

或者你可以将root viewController传递给你自己的UIViewController来呈现它

[yourViewController showFromViewController:self];