Чье представление не находится в вопросе иерархии окон
настроили navController, который появляется после нажатия кнопки. Однако, если я нажму кнопку, я получу ошибку: ""Warning: Attempt to present : 0xab5d9d0 on whose view is not in the window hierarchy!
Кто-нибудь знает как это решить? Я также пробовал что-то на Stackoverflow, но это нет мое решение.
Вот мой код для открытия навигационного контроллера:
Я не знаю, если кто-то знает эту фотогалерею, но если вы нет,Вот это проект.
Мой код (MyApp.m):
#import MyApp.h
...
//some stuff
- (void)launchGalleryView
{
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
// Set browser options.
browser.wantsFullScreenLayout = YES;
browser.displayActionButton = NO;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:browser];
NSMutableArray *photos = [[NSMutableArray alloc] init];
MWPhoto *photo;
photo = [MWPhoto photoWithFilePath:[[NSBundle mainBundle] pathForResource:@"callculator" ofType:@"jpg"]];
photo.caption = @"The calculator is soo beateful...";
[photos addObject:photo];
self.photos = photos;
[self presentModalViewController:navController animated:NO];
}
Заранее спасибо.
Редактировать:
он находится в источниках и в источниках компиляции, но в ресурсах вы можете видеть, что он красный (раскадровка). Может быть это'это вызвано?
Второй контроллер .h:
@class MyApp;
@interface Second : UIViewController {
}
@property (nonatomic, retain) MyApp* vC;
@end
Контроллер Secnond .m:
#import "Second.h"
#import "MyApp.h"
@interface Second ()
@end
@implementation Second
@synthesize vC;
//some stuff in here
//the action
- (IBAction)dothis:(id)sender {
NSLog(@"launch the navcontroller");
[self.vC launchGalleryView];
}
MyApp.h:
#import "Second.h"
@interface myApp : UIViewController {
}
-(void)launchGalleryView;
NSArray *_photos;
НОВОЕ РЕДАКТИРОВАНИЕ:
Я обнаружил, что мне нужно вызвать методlaunchGalleryView» в viewDidAppear, но как я могу сделать это без вызова navcontroller при каждой загрузке представления? Кто-нибудь знает как это сделать?