9

重複の可能性:
より高いiPhone 5の画面サイズをサポートするにはどうすればよいですか?

アプリを4インチ対応にする方法は?iOS6GMシミュレーターの私のアプリは4インチサイズではありません。xcodeに4インチすべてを使用するオプションはありますか?

ここに画像の説明を入力してください

4

2 に答える 2

18

一部のユーザーは、スタートアップイメージを追加した後に修正されたと報告していますDefault-568h@2x.png(以下を参照)。iPhone5にアップデートするために、私は次のことを行いました。

自動回転はiOS6で変更されています。iOS6ではshouldAutorotateToInterfaceOrientation:、UIViewControllerのメソッドは非推奨になりました。代わりに、supportedInterfaceOrientationsForWindow:andshouldAutorotateメソッドを使用する必要があります。したがって、私はこれらの新しいメソッドを追加しました(そしてiOS 5互換性のために古いものを維持しました):

-(BOOL)shouldAutorotate {
  return YES;
}

- (NSUInteger)supportedInterfaceOrientations{
  return UIInterfaceOrientationMaskAllButUpsideDown;    
}
  • 次に、それを必要とするビューの自動レイアウトを修正しました。
  • スタートアップビュー用のシミュレーターからの画像とiTunesストアのビューをPhotoShopにコピーし、pngファイルとしてエクスポートしました。
  • デフォルトの画像の名前は次のとおりです。Default-568h@2x.pngサイズは640x1136、画面サイズは320x568です。
  • iOS 4の下位互換性を落としました。その理由は、この新しいXcodeがarmv6コードをサポートしなくなったためです。したがって、現在サポートできるすべてのデバイス(armv7を実行)をiOS5にアップグレードできます。

回転が変化したため、iOS5とiOS6で自動回転をテストすることを忘れないでください。

于 2012-09-13T09:07:05.070 に答える
3

iPhone 5がリリースされる前は、

#define kViewHeight 460.f // or 480.f if you don't have a status bar
#define kViewWidth  320.f

でも今は使いたい

#define kViewHeight CGRectGetHeight([UIScreen mainScreen].applicationFrame)
#define kViewWidth  CGRectGetWidth([UIScreen mainScreen].applicationFrame)

代わりは。

しかし、それが良い解決策であるかどうかはわかりません。CGRectGetHeight([UIScreen mainScreen].applicationFrame)ご覧のとおり、を使用するすべての場所にディスパッチしますkViewHeight。使ってみました

extern float kViewHeight; // in .h
float kViewHeight = CGRectGetHeight([UIScreen mainScreen].applicationFrame) // in .m

しかし、コンパイルエラーで失敗しました。

それはうまく機能しますが、もっと良い回避策があるはずだと思います。;)

于 2012-09-13T09:15:24.263 に答える