2016-11-30 3 views
0

Я пытаюсь создать CustomAlertview, используя CustomIOS7AlertView, с текстом и изображением. Потому что я читал, что с простым AlertView невозможно установить максимальную высоту, когда мы добавляем изображение ...CustomIOS7AlertView ландшафтный режим

Моя проблема заключается в следующем: я создал CustomAlertView с изображением, но никак не могу, что для IPAD (в ландшафте) отображается в ландшафтном режиме. Он всегда отображается как вертикальный.

Я попытался вращая customAlertview, но мне не удалось ...

Может кто-нибудь мне помочь?

Это мой код:

UIView * vista = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)]; 
UIImageView *imgView; 

if (([[UIDevice currentDevice].model rangeOfString:@"iPad"].location!=NSNotFound)) { 

    imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 400, 400)]; 

} else { 

    imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)]; 
} 

[imgView setImage:img]; 
[vista addSubview:imgView];    

CustomIOS7AlertView *alertView = [[CustomIOS7AlertView alloc] init]; 
[alertView setContainerView:vista]; 

[alertView show]; 

screenshot of the problem

Спасибо !!!

+1

Скорее всего, ваша проблема заключается в реализации метода 'CustomIOS7AlertView'' show' –

ответ

2

Положите наблюдателей на изменение ориентации в CustomIOS7AlertView, а затем сделайте представление правильно ориентированным при каждом изменении ориентации.

Обратитесь к: Detecting iOS UIDevice orientation, чтобы узнать больше о уведомлениях об изменении ориентации.

0

Решенный! Как коллега noir_eagle сказал, что проблема была в показать (CustomIOS7AlertView.m) метод, в частности, пришлось изменить следующую строку, которая влияет на вращение:

UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation]; 
     switch (interfaceOrientation) { 
      case UIInterfaceOrientationLandscapeLeft: 
       **self.transform = CGAffineTransformMakeRotation(M_PI * 360/180.0);** 

Спасибо версии много! ;)

Смежные вопросы