私はUITableViewController
1 つのタブに がありUINavigationViewController
ます。UINavigationController
ルート ビュー コントローラーは UITableViewController であり、セルをクリックすると、UIViewController
ロックする必要があるセルが表示されLandscape
ます。
Portrait
でロックする必要があると述べたものを除いて、すべてのコントローラーを でロックUIViewController
する必要がありますPortrait
。
私は次のことを試しました:
CustomTabBarController.m:
#import "CustomTabBarController.h"
@implementation CustomTabBarController
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// You do not need this method if you are not supporting earlier iOS Versions
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
- (BOOL)shouldAutorotate{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return [self.selectedViewController supportedInterfaceOrientations];
}
@end
CustomNavigationController.h:
#import "CustomNavigationController.h"
@implementation CustomNavigationController
-(NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
-(BOOL)shouldAutorotate
{
return YES;
}
@end
そして、ランドスケープにロックインする必要がある UIViewController に、次のように入力しました。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate
{
return YES;
}
しかし、それは機能しません。横向きに回転でき、横向きにロックされたままになりますが、横向きに自動的に表示されるようにしたいです。
助言がありますか?