ориентация ipad SplitView в DetailView

Я использую этот код в DetailView.m splitview приложения. Теперь изменения ориентации происходят только, когда устройство повернуто. Обнаружение не происходит, когда приложение запускается. Я также получаю это предупреждение

предупреждение: 'RootViewController' не может ответить на '-adjustViewsForOrientation:'

Какое изменение делают я должен заставить приложение скорректировать код ориентации, когда приложение запускается.

> - (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
> duration:(NSTimeInterval)duration {
>     [self adjustViewsForOrientation:toInterfaceOrientation];
> }
> 
> - (void) adjustViewsForOrientation:(UIInterfaceOrientation)orientation
> {
>     if (orientation == UIInterfaceOrientationLandscapeLeft ||
> orientation ==
> UIInterfaceOrientationLandscapeRight)
> {
>         detailDescriptionLabel.center = CGPointMake(235.0f, 42.0f);
>         bigthumbImageView.center = CGPointMake(355.0f, 70.0f);
>         
>     }
>     else if (orientation == UIInterfaceOrientationPortrait ||
> orientation ==
> UIInterfaceOrientationPortraitUpsideDown)
> {
>         detailDescriptionLabel.center = CGPointMake(160.0f, 52.0f);
>         bigthumbImageView.center = CGPointMake(275.0f, 80.0f);
>         
>     } }
1
задан kennytm 13 May 2010 в 10:12
поделиться

2 ответа

Чтобы удалить предупреждение, переместите определение -adjustViewsForOrientation: перед -willRotateToInterfaceOrientation:… .

Метод -willRotateToInterfaceOrientation:… будет вызываться только при ротации интерфейса. При первом запуске приложения интерфейс не вращается (он следует исходной ориентации), поэтому этот вызов не создается. Вы должны вызвать его вручную, например в -viewDidLoad :

-(void)viewDidLoad {
   [self adjustViewsForOrientation:self.interfaceOrientation];
}
1
ответ дан 3 September 2019 в 00:34
поделиться

Вам необходимо объявить свой метод в RootViewController.h, например:

- (void) adjustViewsForOrientation:(UIInterfaceOrientation)orientation;

В противном случае вы получите предупреждение. Чтобы убедиться, что ваше представление вращается при запуске приложения, добавьте вызов AdjustViewsForOrientation в свой класс AppDelegate в методе applicationDidFinishLaunching.

1
ответ дан 3 September 2019 в 00:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: