現在、iOSアプリケーションをiOS 4.0(3.5インチディスプレイ)からiOS 6.0(4インチディスプレイ)に変換する必要があります。
iOSの古いバージョン(5.0以前)のアプリケーションをios6およびiPhone5と互換性を持たせるための最も簡単な方法を教えてください。
3.5インチXIBのUIオブジェクトのフレームを4インチXIBに設定する方法を教えてください。
このトピックに関連する優れたチュートリアルや記事をお持ちの方がいらっしゃいましたら、リンクを教えてください。
次のコードを使用して ios6 と iphone 5 を検出し、区別した後、必要に応じて必要な変更を実行する必要があります。
システム定義で指定されたバージョンに準拠する
//#define __IPHONE_2_0 20000
//#define __IPHONE_2_1 20100
//#define __IPHONE_2_2 20200
//#define __IPHONE_3_0 30000
//#define __IPHONE_3_1 30100
//#define __IPHONE_3_2 30200
//#define __IPHONE_4_0 40000
//#define __IPHONE_6_0 60000 関数は次のように記述できます (毎回計算するのではなく、おそらくこのバージョンをどこかに保存する必要があります):
+ (NSInteger) getSystemVersionAsAnInteger{
int index = 0;
NSInteger version = 0;
NSArray* digits = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
NSEnumerator* enumer = [digits objectEnumerator];
NSString* number;
while (number = [enumer nextObject]) {
if (index>2) {
break;
}
NSInteger multipler = powf(100, 2-index);
version += [number intValue]*multipler;
index++;
}
return version;
}
次に、これを次のように使用できます。
if([Toolbox getSystemVersionAsAnInteger] >= __IPHONE_6_0)
{
//blocks
} else
{
//oldstyle
}
OS のバージョンを確認したら、次の移行手順に従ってください。
例:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
}else{
// code for 3.5-inch screen
}
ありがとう。