1

プログラムでチェックアウトすると、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. MainViewControllerを作成するときに、「ipad を対象とする」チェックボックスをオンにしたことは間違いありません
  4. 重要かどうかはわかりませんが、「ユーザーインターフェイスに xib を使用」のチェックが外れていました。

そして、これはテキストビューが追加されたスクリーンショットです

ここに画像の説明を入力

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 に答える