Я добавляю subview к контроллеру представления, размеры которого составляют 1024 (W) x 768 (H). Мое приложение настроено на поддержку только ландшафта в plist, и все же мой subview всегда будет отображаться в портретной ориентации, его нижняя часть исчезает с экрана.Невозможно отобразить полноэкранный размер и ландшафт subview
Мой SuperView:
#import "TSTViewController.h"
#import "TSTContentViewController.h"
@interface TSTViewController()
@property (nonatomic, strong) TSTContentViewController *tcvc;
@end
@implementation TSTViewController
- (void)loadView
{
UIView *rootView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 1024.0f, 768.0f)];
[rootView setBackgroundColor:[UIColor yellowColor]];
self.view = rootView;
_tcvc = [[TSTContentViewController alloc] initWithNibName:@"TSTContentViewController" bundle:nil];
[rootView addSubview:_tcvc.view];
}
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"H:%f W:%f; H:%f W:%f", self.view.frame.size.height, self.view.frame.size.width, _tcvc.view.frame.size.height, _tcvc.view.frame.size.width);
}
@end
Мое приложение делегат:
#import "TSTAppDelegate.h"
#import "TSTViewController.h"
@implementation TSTAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[TSTViewController alloc] init];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
Мой подтаблицы (TSTContentViewController) не имеет собственного кода, и перо с размерами (1024W X 768H), с серым фоном ,
Казалось бы, безусловно, результат выглядит следующим образом:
(желтый надтаблицы, серый подвид)
NSLog в viewDidAppear оттисков, что обе точки зрения имеют размеры портретной ориентации, даже желтого цвета, что на самом деле выглядит как в пейзажной ориентации.
Любые идеи?
Редактировать для дополнительных деталей:
Если ширина подвид только один пиксель меньше, вид идет ландшафт, как он должен (см тонкую желтую полосу ниже).
По моим наблюдениям, только точно полноэкранных причины этого подтаблица вращения. Меньшие и большие рамки сохраняют размеры, определенные в наконечнике.
Вы используете autolayout? –
TSTViewController (супервизор) не имеет нип. TSTContentViewController (подвью, серый) отображает то же самое с автозапуском или без него. –
Добавлена деталь. Если subview меньше 768 в высоту, он выглядит как ожидаемый. –