Привет После многих исследований, что я нашел, является ли это TabBar или UIVicontroller.
В соответствии с моим вопросом, мой проект находится в режиме портрета, и мне нужен только один вид. Автоматическое вращение контроллера. Ниже приведены шаги, которые мне помогли.
1 - В App delegate.h
@property (assign, nonatomic) BOOL shouldRotate;
2 - В App Delegate.m
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window NS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED
{
_shouldRotate = [[NSUserDefaults standardUserDefaults]boolForKey:@"rotateKey"];
NSLog(@"Did I get to InterfaceOrientation \n And the Bool is %d",_shouldRotate);
if (self.shouldRotate == YES){
return UIInterfaceOrientationMaskAll;
}else{
return UIInterfaceOrientationMaskPortrait;
}
}
3 - Теперь Какой UIViewController, Вы хотите Автоповорот,
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
BOOL rotate = YES;
[[NSUserDefaults standardUserDefaults]setBool:rotate forKey:@"rotateKey"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
-(BOOL)shouldAutorotate
{
return YES;
}
4 -Trick Деталь
Если вы делаете все эти шаги, контроллер представления получит автомобиль повернут, если и вернуться из текущего контроллера представления, который является ландшафтным режимом. предыдущий контроллер будет автоматически вращаться в ландшафте, и он будет поддерживать цепочку.
Таким образом, чтобы избежать этого,
Если вы собираетесь из вида контроллера для просмотра контроллер B. View Controller является ауто- вращением, а затем в View Controller A-
5 - используйте этот код -
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
BOOL rotate = NO;
[[NSUserDefaults standardUserDefaults]setBool:rotate forKey:@"rotateKey"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
-(BOOL)shouldAutorotate
{
return NO;
}
- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation
{
return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
#else
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
#endif
{
dispatch_async(dispatch_get_main_queue(), ^{
// UI Updates
});
return UIInterfaceOrientationMaskPortrait;
}
Звучит неясно, не могли бы вы подробнее рассказать? –
@ Mr.UB Я обновил информацию – ChenSmile
проверить это: http://stackoverflow.com/questions/39159444/how-to-get-navigation-based-template-functionality-in-swift-programming/39159793#39159793, дайте мне знать, если вы что-то понимаете. –