iOS 6 - XCode 4.5.1 - iPad模拟器 - 以编程方式获得错误的分辨率

时间:2012-10-24 06:00:30

标签: ios xcode ipad ios6 simulator

为什么XCode 4.5.1中的Ipad模拟器在以编程方式检出时显示错误的大小?

MainViewController.m

- (void)viewDidLoad{
    [super viewDidLoad];

    [self.view setBackgroundColor:[UIColor redColor]];

    NSLog(@"self.view width : %f",self.view.frame.size.width);
    NSLog(@"self.view height : %f", self.view.frame.size.height);

    mTextView  =   [[UITextView alloc] initWithFrame:CGRectMake(10.0, 10.0, self.view.frame.size.width - 20, self.view.frame.size.height/2)];
    [self.view addSubview:mTextView];
}

我的输出为

self.view width : 320.000000
self.view height : 548.000000

我的项目规范

  1. 环球项目
  2. 定位iOS 6.0
  3. 我绝对肯定我选中了“针对ipad ” 创建MainViewController时的复选框
  4. 不知道它是否重要,但“用xib作为用户界面” 未经检查。
  5. 这是一个添加了textview的屏幕截图

    enter image description here

2 个答案:

答案 0 :(得分:1)

请等到:

- (void)viewWillAppear

在设置UITextView的框架之前。根据{{​​3}},在此之前,您的视图不会有有效的几何图形。

答案 1 :(得分:0)

尝试使用此代码确定您的计算机对设备的理解:

NSRange*  pointRange = [[[UIDevice currentDevice] model] rangeOfString:@"iPad" options:0];

if (pointRange.location == NSNotFound) {

    NSLog(@"iPhone");
}
else

  {
    NSLog(@"iPad");

}