iOS 11対応
2579 ワード
1,ナビゲーションバー戻るボタンのカスタマイズ
以前は使用していました
spaceButtonを設定し、幅を負に設定することでカスタム戻りボタンを実現しますが、iOS 11では無効です(==xcode 8でパッケージされたappを使用してiOS 11デバイスでこの問題はありません==)
解決策:
2,CallKit着信認識
iOS 10では、アップルが着信認識の拡張を追加し、通話を遮断したり、電話番号情報を表示したりすることができます.
iOS 10において、システムデータに電話番号情報を書き込む場合、==番号の前に国際コードを追加する必要がある======中国:86==
iOS 11の11位の携帯電話の番号は依然として識別することができて、しかし==短い番号は識別することができなくて==を、長い間考えて、いかなる資料にも挿入してこの問題を解決していないで、いっそ==86==を削除して、意外にも正常です
ps:==xcode 9上でコンパイルされたappには様々な適合問題があるため、現在オンラインになっているパッケージはxcode 8でコンパイルされてパッケージ化されており、上の判断バージョンを使用する方法は、実はxcode 9にバージョンを判断する方法が追加されている==
その他:iOS 11はゴミの識別データをクリアする方法を追加しました
3,tabbar高さ
iPhone X上でtabbarの高さは83(前は49)
4,[[UIApplication sharedApplication]valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]を用いてネットワークを判断し,
iPhone Xではフラッシュバックしますが、iPhone Xのステータスバーは明らかに他のデバイスとは異なり、
追加する必要があります...
以前は使用していました
//
UIBarButtonItem *leftBaItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@" new2.png"] style:UIBarButtonItemStylePlain target:target action:selector];
leftBaItem.tintColor = [UIColor whiteColor];
UIBarButtonItem *spaceButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
spaceButton.width = -10;
navigationItem.leftBarButtonItems = @[spaceButton,leftBaItem];
spaceButtonを設定し、幅を負に設定することでカスタム戻りボタンを実現しますが、iOS 11では無効です(==xcode 8でパッケージされたappを使用してiOS 11デバイスでこの問題はありません==)
解決策:
//
UIImage *backButtonImage = [[UIImage imageNamed:@" new2.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.navigationController.navigationBar.backIndicatorImage = backButtonImage;
self.navigationController.navigationBar.backIndicatorTransitionMaskImage = backButtonImage;
2,CallKit着信認識
iOS 10では、アップルが着信認識の拡張を追加し、通話を遮断したり、電話番号情報を表示したりすることができます.
iOS 10において、システムデータに電話番号情報を書き込む場合、==番号の前に国際コードを追加する必要がある======中国:86==
iOS 11の11位の携帯電話の番号は依然として識別することができて、しかし==短い番号は識別することができなくて==を、長い間考えて、いかなる資料にも挿入してこの問題を解決していないで、いっそ==86==を削除して、意外にも正常です
// 11
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 11.0) {
if (phone.length<11){
tempValue = [NSString stringWithFormat:@"%@" , phone] ;
}
}
ps:==xcode 9上でコンパイルされたappには様々な適合問題があるため、現在オンラインになっているパッケージはxcode 8でコンパイルされてパッケージ化されており、上の判断バージョンを使用する方法は、実はxcode 9にバージョンを判断する方法が追加されている==
//
if (@available(iOS 11.0, *)) {
}
その他:iOS 11はゴミの識別データをクリアする方法を追加しました
/**
Remove all currently-stored identification entries.
May only be used when `-isIncremental` returns YES, indicating that the request should provide incremental entries and thus may use this
API to remove all previously-added identification entries.
*/
- (void)removeAllIdentificationEntries API_AVAILABLE(ios(11.0));
3,tabbar高さ
iPhone X上でtabbarの高さは83(前は49)
4,[[UIApplication sharedApplication]valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]を用いてネットワークを判断し,
iPhone Xではフラッシュバックしますが、iPhone Xのステータスバーは明らかに他のデバイスとは異なり、
foregroundView
という属性がなく、方法が見つからず、フラッシュバックします追加する必要があります...