Как поворачивают представление для озеленения в приложении панели вкладок

В этом случае вам не обязательно нужен purrr. Вы можете использовать dplyr

library(dplyr)

mutate_at(mtcars, c("am", "gear"), as.character)
7
задан Brad Larson 26 July 2011 в 16:16
поделиться

5 ответов

Можно скрыть строку состояния путем вызова

setStatusBarHidden:(BOOL)

на ссылке UIApplication, как так.

- (void)applicationDidFinishLaunching:(UIApplication *)application {

[application setStatusBarHidden:YES];

}

Для избавлений от панели вкладок, можно сделать торговую точку ссылки в Интерфейсном разработчике к коду и вызову

[myUITabBar removeFromSuperview];

Это могло бы работать, хотя я не протестировал его, что касается других вопросов, я не 100%, не занявшись проблемами прежде.

2
ответ дан 7 December 2019 в 01:27
поделиться

Хорошо, это столь же далеко, я поместил это для работы:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                duration:(NSTimeInterval)duration {
    if (self.landscape) {
        if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
        {
            self.view = self.portrait;
            //self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(360));
        }
        else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)
        {
            self.view = self.landscape;
            //self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(-90));
        }
        else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
        {
            self.view = self.landscape;
            //self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
        }
        else
        {
            self.view = self.portrait;
            //self.view.transform =  CGAffineTransformMakeRotation(degreesToRadian(-180));
        }
    }
}

Теперь, в AppDelegate:

- (void) didRotate:(NSNotification *)notification
{   
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
    [UIView beginAnimations:nil context:NULL];  

    if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight)
    {
        [tabBarController.view setAlpha:0.0];
        [tabBarController.view removeFromSuperview];

        [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; 
    } else {
        [tabBarController.view setAlpha:1.0];
        [[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];      
    }
    [UIView commitAnimations];  
}

Но затем как установленный текущее представление и как восстановление панель вкладок?

1
ответ дан 7 December 2019 в 01:27
поделиться

Кажется, довольно много программистов хотят, чтобы элемент панели вкладок переводил их в полноэкранный режим с альбомной ориентацией (без строки состояния, без панели вкладок), а затем возвращался.

Я разместил запрос о том, возможно ли это на самом деле, на форуме разработчиков Apple, но пока не получил ответа.

Почему это сложно? (извините, вопрос новичка? Кажется, некоторые довольно очевидные вещи не должны вызывать затруднений) Ни у кого, которого я еще не нашел в сети, нет четкого ответа на этот вопрос.

1
ответ дан 7 December 2019 в 01:27
поделиться

Когда я смотрю на приложение iPod, мне кажется, что представление TabBarController никоим образом не заменяется и не изменяется. Я думаю, что есть просто переход между представлением tabbarcontroller и представлением coverflow.

На вашем месте я бы попробовал (не уверен, может ли это сработать) с контроллером coverflow, с его представлением, отображаемым поверх представления tabBarController. Если бы не позволил tabBarController автоматически поворачивать свое представление, но в этот момент я бы исчезал его вид и исчезал в представлении coverflow, которое было бы только альбомным.

Я не знаю, будет ли statusBar вести себя должным образом, и я позволил вам разобраться во многих деталях, но в любом случае я думаю, что было бы неплохо иметь два отдельных контроллера, один из которых показал в альбомной, другой (tabBar) в портретном.

Надеюсь, что это вам поможет.

Я бы попробовал (не уверен, что это может сработать) с контроллером coverflow, с его представлением, отображаемым поверх представления tabBarController. Если бы не позволил tabBarController автоматически поворачивать свое представление, но в этот момент я бы исчезал его вид и исчезал в представлении coverflow, которое было бы только альбомным.

Я не знаю, будет ли statusBar вести себя должным образом, и я позволил вам разобраться во многих деталях, но в любом случае я думаю, что было бы неплохо иметь два отдельных контроллера, один из которых показал в альбомной, другой (tabBar) в портретном.

Надеюсь, что это вам поможет.

Я бы попробовал (не уверен, что это может сработать) с контроллером coverflow, с его представлением, отображаемым поверх представления tabBarController. Если бы не позволил tabBarController автоматически поворачивать свое представление, но в этот момент я бы исчезал его вид и исчезал в представлении coverflow, которое было бы только альбомным.

Я не знаю, будет ли statusBar вести себя должным образом, и я позволил вам разобраться во многих деталях, но в любом случае я думаю, что было бы неплохо иметь два отдельных контроллера, один из которых показал в альбомной, другой (tabBar) в портретном.

Надеюсь, что это вам поможет.

но в этот момент я бы исчезал из вида и исчезал в режиме покрытия, который был бы только пейзажем.

Я не знаю, будет ли statusBar вести себя должным образом, и я позволил вам разобраться во многих деталях, но в любом случае я думаю, что было бы неплохо иметь два отдельных контроллера, один из которых показал в альбомной, другой (tabBar) в портретном.

Надеюсь, что это вам поможет.

но в этот момент я бы исчезал из вида и исчезал в режиме покрытия, который был бы только пейзажем.

Я не знаю, будет ли statusBar вести себя должным образом, и я позволил вам разобраться во многих деталях, но в любом случае я думаю, что было бы неплохо иметь два отдельных контроллера, один из которых показал в альбомной, другой (tabBar) в портретном.

Надеюсь, что это вам поможет.

1
ответ дан 7 December 2019 в 01:27
поделиться

Взгляните на пример кода Apple "AlternateViews".

Основная идея состоит в том, что вы можете определять физическую ориентацию устройства с помощью уведомлений, а затем активировать новый контроллер представления "модально" и запросить полный экран. Вы отключаете поворот интерфейса, указав shouldAutorotate ... возвращать YES только для одной ориентации, поскольку вы делаете все это вручную с уведомлениями. Когда вы меняете физическую ориентацию, ваш контроллер модального представления либо отображается, либо закрывается.

5
ответ дан 7 December 2019 в 01:27
поделиться