Я пытаюсь загрузить контроллер представления, содержащийся в указанной библиотеке, а также отдельный пакет ресурсов.Чтобы сделать это, я считаю, что мне нужно использовать метод initWithNibName.Я добавил следующие дополнительные аргументы mtouch:
-v -v -v -gcc_flags "-L${TargetDir} -F${TargetDir} -F${ProjectDir} -F${TargetDir}/Test.embeddedframework -framework Test"
Этот фрагмент Objective C делает именно то, что мне нужно:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSBundle *myBundle = [NSBundle bundleWithPath:[NSString stringWithFormat:@"%@/Test.embeddedframework",[[NSBundle mainBundle] bundlePath]]];
NSString *nib = [myBundle pathForResource:@"TestViewController" ofType:@"nib"];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:myBundle];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
Из MonoTouch я смогзагрузите привязки компиляции и загрузите пакет ресурсов.Но я не знаю, как отправить сообщение «initWithNibName».Документы API не являются полными для этого метода, но показывают конструктор на UIViewController, который будет принимать имя и пакет.Однако, похоже, что это не включено в сгенерированную DLL.
http://iosapi.xamarin.com/?link=C%3aMonoTouch.UIKit.UIViewController(System.String%2cMonoTouch.Foundation.NSBundle)
Есть ли у кого-нибудь опыт с чем-то подобным или есть какие-либо предложения относительно того, как это можно сделать?