1

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

主视图控制器.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. 我绝对确定我在创建 MainViewController 时选中了“针对 ipad ”复选框
  4. 不知道它是否重要,但未选中“使用 xib 作为用户界面”。

这是添加了 textview 的屏幕截图

在此处输入图像描述

4

2 回答 2

1

尝试等到:

- (void)viewWillAppear

在设置 UITextView 的框架之前。根据这篇文章,在那之前您的视图将没有有效的几何图形。

于 2012-10-24T07:22:50.713 回答
0

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

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

if (pointRange.location == NSNotFound) {

    NSLog(@"iPhone");
}
else

  {
    NSLog(@"iPad");

}
于 2012-10-24T07:17:19.143 回答