6
看來如果我在至少XCode中觸發Use Safe Area Layout Guides
,將出現"Safe area layout guide before ios 9".
錯誤,這是否意味着支持這兩種設備是不可能的?有什麼建議?謝謝。這是否可以在同一個項目中支持iPhone X和iOS 8?
看來如果我在至少XCode中觸發Use Safe Area Layout Guides
,將出現"Safe area layout guide before ios 9".
錯誤,這是否意味着支持這兩種設備是不可能的?有什麼建議?謝謝。這是否可以在同一個項目中支持iPhone X和iOS 8?
這是完全可以支持iPhone X與iOS 8的最低目標(事實上,這正是我們目前在汗學院的應用程序。)
我們所做的是在我們的斯威夫特應用safeAreaInsets
使用#available
功能,像這樣的代碼:
public override func safeAreaInsetsDidChange() {
if #available(iOS 11.0, *) {
super.safeAreaInsetsDidChange()
self.contentCatalogHeaderView?.safeAreaInsetsTopOverride = safeAreaInsets.top
self.collectionViewLayout.safeAreaInsetsTop = safeAreaInsets.top
}
}
從你的問題,這聽起來像你正在辯論是否使用複選框在故事板,使安全區的插圖。如果啓用了安全區域插入功能,我不確定是否有可能讓故事板支持iOS 8(我懷疑這是不可能的)。但是,您始終可以存儲對佈局約束的引用,並使用上面的#available
函數更新代碼中的常量。
(在Objective-C,代碼看起來幾乎相同,只是格式化是這樣的:
- (void)viewSafeAreaInsetsDidChange {
if (@available(iOS 11.0, *)) {
[super viewSafeAreaInsetsDidChange];
[self.view setNeedsLayout];
}
}
在所有的測試中,我所做的答案是否定的我,直到我決定去檢查掙扎的。有多少用戶仍然使用iOS 8用於我的應用程序,並且它沒有。 – MwcsMac