В этом случае вам не обязательно нужен purrr
. Вы можете использовать dplyr
library(dplyr)
mutate_at(mtcars, c("am", "gear"), as.character)
Можно скрыть строку состояния путем вызова
setStatusBarHidden:(BOOL)
на ссылке UIApplication, как так.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[application setStatusBarHidden:YES];
}
Для избавлений от панели вкладок, можно сделать торговую точку ссылки в Интерфейсном разработчике к коду и вызову
[myUITabBar removeFromSuperview];
Это могло бы работать, хотя я не протестировал его, что касается других вопросов, я не 100%, не занявшись проблемами прежде.
Хорошо, это столь же далеко, я поместил это для работы:
- (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];
}
Но затем как установленный текущее представление и как восстановление панель вкладок?
Кажется, довольно много программистов хотят, чтобы элемент панели вкладок переводил их в полноэкранный режим с альбомной ориентацией (без строки состояния, без панели вкладок), а затем возвращался.
Я разместил запрос о том, возможно ли это на самом деле, на форуме разработчиков Apple, но пока не получил ответа.
Почему это сложно? (извините, вопрос новичка? Кажется, некоторые довольно очевидные вещи не должны вызывать затруднений) Ни у кого, которого я еще не нашел в сети, нет четкого ответа на этот вопрос.
Когда я смотрю на приложение 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) в портретном.
Надеюсь, что это вам поможет.
Взгляните на пример кода Apple "AlternateViews".
Основная идея состоит в том, что вы можете определять физическую ориентацию устройства с помощью уведомлений, а затем активировать новый контроллер представления "модально" и запросить полный экран. Вы отключаете поворот интерфейса, указав shouldAutorotate ... возвращать YES только для одной ориентации, поскольку вы делаете все это вручную с уведомлениями. Когда вы меняете физическую ориентацию, ваш контроллер модального представления либо отображается, либо закрывается.