Я использую кабель HDMI для вывода вывода экрана iPad на телевизор. Если я сохраню iPad в ландшафтном режиме, вывод на экране телевизора в ландшафтном режиме. и если я поворачиваю его на портретный вывод на телевизоре, то также меняется и портретный режим.Как заставить телевизор из iPad находиться в ландшафтном режиме, даже если iPad находится в портретном режиме.
Есть ли способ ограничить этот т.е. даже если я повернуть IPad в портретной ориентации выход на ТВ должен оставаться в ландшафтном
Вот некоторые изображения, которые прояснят мой вопрос
это мой IPad-х ориентация ...
Это то, что я получаю .........
Это то, что я хочу ......
ИЛИ
От возни с программированием я пришел далеко ..
Я сделал кнопку над UIImageView с некоторым изображением в одном шаблоне приложения вида Xcode с методом IBaction этот метод имеет следующий код
- (IBAction)screenButton:(id)sender {
NSLog(@"Screen Count %d",[[UIScreen screens]count]);
if([[UIScreen screens]count] > 1) {
CGSize max;
UIScreenMode *maxScreenMode;
for(int i = 0; i < [[[[UIScreen screens] objectAtIndex:1] availableModes]count]; i++)
{
UIScreenMode *current = [[[[UIScreen screens]objectAtIndex:1]availableModes]objectAtIndex:i];
if(current.size.width > max.width)
{
max = current.size;
maxScreenMode = current;
}
}
//UIScreen *external = [[UIScreen screens] objectAtIndex:0];
UIScreen *external = [[UIScreen screens] objectAtIndex:1];
external.currentMode = maxScreenMode;
//external_disp = [externalDisplay alloc];
//external_disp.drawImage = drawViewController.drawImage;
// ExternalDisplayOn = TRUE;
//UIImageView *extView = [[UIImageView alloc] init];
_extView.hidden=FALSE;
_extView.frame = external.bounds;//MyMainScrollView.frame;
UIWindow *newwindow = [[UIWindow alloc] initWithFrame:_extView.frame];
//UIWindow *newwindow = [[UIWindow alloc];
[newwindow addSubview:_extView];
newwindow.screen = external;
newwindow.hidden=NO;
[[[UIAlertView alloc] initWithTitle:@"Alert Showed" message:[NSString stringWithFormat:@"_extView.frame X %f, Y %f, W %f, H %f, Screen Count %d",_extView.frame.origin.x,_extView.frame.origin.y,_extView.frame.size.width,_extView.frame.size.height,[[UIScreen screens]count]] delegate:nil cancelButtonTitle:@"OK!" otherButtonTitles:nil, nil] show];
[newwindow makeKeyAndVisible];
}
}
я был в состоянии решить мою проблему, в некоторой степени, но проблема я столкнулся, как следующий
всякий раз, когда я запустить приложение и сохранить его в портретном режиме, выход на ТВ является точной копией моего экрана iPad.
теперь, когда я нажимаю UIButton, который я присвоил вышеприведенному коду. UIAlertView отображается на экране iPad (но не на экране телевизора). и ориентация на телевизоре меняется на «Пейзаж» с моим iPad в режиме «Портрет» (на самом деле это именно то, что я действительно хотел) ....
, но когда я нажимаю кнопку отмены UIalertView, чтобы закрыть вид предупреждения. ориентация на выходе телевизора снова меняется в портретный режим.
Есть ли способ предотвратить то, что происходит в моем случае, когда появляется UIAlertView. это решило бы проблему.
Вы назначаете один и тот же вид обоим окнам или есть два разных экземпляра одного и того же вида? – cescofry