在横向模式下获取视图的边界矩形会返回错误的大小:
(我知道在横向模式上有很多帖子,但没有关于这个问题。)
从一个新的UIView模板项目开始,我将一个UIView添加到Interface Builder中的ViewController(在横向模式下),并将视图大小设置为width = 400,height = 200; 但是当我在ViewController中添加断点时 码: - (void)viewDidAppear:(BOOL)animated { CGRect viewRect = [testView bounds]; } 尺寸是w = 220,h = 380! (即使屏幕上的视图清晰正确)
在myViewController.m中我设置了:
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); // home button on right
}
在myAppDelegate.m
中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
application.statusBarOrientation = UIInterfaceOrientationLandscapeRight; //home on right
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
并在我设置的info.plist中:初始界面方向=横向(右主页按钮)
我不试图用iPhone旋转视图,它只能在横向修复。
有解决方法吗?我需要根据正确的视图大小创建一些CALayers。
由于
史蒂夫
答案 0 :(得分:1)
听起来像状态栏相关的问题。那说我没有一个很好的解决方案。
除了查看框架外,您还可以查看边界。有时这会提供更好的信息。