Я пытаюсь загрузить контроллер модального вида (1-й) из контроллера модального вида (2-й). Хотя это звучит сложно, вероятно, нет.
Первый контроллер на самом деле является UIWebView, который инициализируется в методе loadView файла .m:
- (void)loadView {
// Initialize webview and add as a subview to LandscapeController's view
myWebView = [[[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
//CGRect forceframe = CGRectMake(0, 0, 480, 320);
//myWebView = [[[UIWebView alloc] initWithFrame:forceframe] autorelease];
myWebView.scalesPageToFit = YES;
myWebView.autoresizesSubviews = YES;
myWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
myWebView.delegate = self;
self.view = myWebView;
}
Тогда в viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
// Load HTML file as an NSURL request
[self.myWebView loadHTMLString:updated_html baseURL:nil];
// Invoke the covering modal view on condition
if (some_condition) {
landscapeCoverController = [[UIViewController alloc] initWithNibName:@"LandscapeCoverController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:landscapeCoverController animated:YES];
[landscapeCoverController release];
}
Предполагаемый 2-й модальный контроллер вида (landscapeCoverController) инициализируется с помощью NIB, который я настроил в IB.
Моя цель - условно скрыть UIWebView с представлением «LandscapeCoverController», которое будет иметь некоторые кнопки и интерактивность, что приведет к отклонению 2-го модального вида.
Почему не загружается мой landscapeCoverController? Любые мысли с благодарностью!
Также ... 1-й контроллер модального вида (LandscapeViewController) .h выглядит так:
@class LandscapeCoverController;
@interface LandscapeViewController : UIViewController <UIWebViewDelegate> {
UIWebView *myWebView;
LandscapeViewController *landscapeCoverController;
}
@property (nonatomic, retain) UIWebView *myWebView;
@property (nonatomic, retain) LandscapeViewController *landscapeCoverController; // Modal view controller
и ... 2-й контроллер модального представления (landscapeCoverController) viewDidLoad ничего не делает:
// NIB initialized in LandscapeViewController.m viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
}
как мне кажется
landscapeCoverController = [[UIViewController alloc] initWithNibName:@"LandscapeCoverController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:landscapeCoverController animated:YES];
[landscapeCoverController release];
оператор должен обрабатывать инициализацию и загрузку контроллера ...