Я пытаюсь загрузить Modal View Controller (1-й) из Modal View Controller (2nd). Хотя это звучит сложно, это, вероятно, не так.Модальный UIViewController не отображается
1-й контроллер фактически 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];
}
Намеченного 2nd Модального View Controller (landscapeCoverController) инициализируется с помощью NIB, который я установил в IB.
Целью этого является условное закрытие UIWebView с представлением «LandscapeCoverController», которое будет иметь некоторые кнопки и интерактивность, что приведет к увольнению второго модального представления.
Почему мой пейзаж не загружается? Любые мысли очень оценили!
Также ... 1-й модальный контроллер View (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
и ... контроллер второго Модальные View (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];
должен обрабатывать инициализацию и ло аддирование контроллера ...
Является ли 'mainScreen' видом в вашем приложении? –
@sudo rm -rf (nice name) mainScreen - это метод класса UIScreen, который возвращает объект UIScreen, представляющий границы экрана. – Jumhyn