Итак, как гласит название, у меня есть hdmi на iPad и наблюдатель, зарегистрированный для подключений к экрану, после подключения пользователь выбирает res и представление.
Однако, если я загружаю представление из ниба или даже из контроллера программного представления, ipad показывает пейзаж в портрете (да, обе ситуации установлены в альбомную).
т.е.
ExternalViewController *ex = [[ExternalViewController alloc] init];
[externalWindow setRootViewController:ex];
делает следующее:
Если я создаю представление сам по себе программно. так:
UIView *test = [[UIView alloc] initWithFrame:[externalScreen applicationFrame]];
[test setBackgroundColor:[UIColor whiteColor]];
UILabel *msgLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 40, 100, 30)];
msgLabel.text = @"External!";
[test addSubview:msgLabel];
Он бежит как какой-то волшебный сон:
Однако я хочу, чтобы viewcontroller загружал (и работает!), поэтому, StackOverflow, я вас спрашиваю. кто-нибудь сталкивался с этим раньше?
EDIT: Само собой разумеется, что обычные чувствительные ответы не получают щедрости, я после исправления, а не обходной путь. С моим ограниченным мозгом, все, что я могу сделать, это создать метод, который создает представление на основе его входов и добавляет, что в качестве подсмотра внешнего монитора ясно, что это хакерское решение, так что исправление оценивается! Спасибо!
ИЗМЕНИТЬ:
-(id)initWithFrame:(CGRect)_rect
{
rect = _rect;
if (self = [super init])
{
externalView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"105.png"]];
externalView.alpha = 0.0;
[externalView setFrame:rect];
[externalView setBackgroundColor:[UIColor yellowColor]];
self.view = [[UIView alloc] initWithFrame:rect];
self.view.backgroundColor = [UIColor whiteColor];
return self;
}
}
- (void)loadView
{
self.view = [[UIView alloc] initWithFrame:rect];
self.view.backgroundColor = [UIColor blackColor];
[self.view addSubview:externalView];
}
В соответствии с запросом, я загружаю viewcontroller, инициализируя размер внешнего экрана. Спасибо