Ich füge der Navigationsleiste für eine UIViewController-Unterklasse für iPad eine Done-Schaltfläche im Code hinzu, genauer gesagt für die Regular Size-Klasse Code. Wir unterstützen iOS 8+. Die if-Anweisung gibt die kompakte Größenklasse zurück, wenn sie auf dem iPad Air 2 mit iOS 8.1 ausgeführt wird, und sie meldet Regular für iOS 8.4 oder iOS 9. Ist das ein Fehler in iOS oder mache ich etwas falsch?TraitCollection.horizontalSizeClass-Berichte Compact unter iOS 8.1, Regular unter iOS 8.4 und 9.x
/// Add 'Done' button for iPad/Regular Size Class
private func addDoneButtonIfNeeded() {
if traitCollection.horizontalSizeClass == .Regular {
let doneButton = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: #selector(ApprovalDetailViewController.doneAction))
doneButton.tintColor = UIColor.whiteColor()
navigationItem.leftBarButtonItem = doneButton
}
}
LLDB ausgegeben, wenn Stützpunkt auf der gesetzte if-Anweisung
iOS 8.1: po traitCollection.horizontalSizeClass.rawValue -> 1
iOS 8.4: po traitCollection.horizontalSizeClass.rawValue -> 2
Ich verwende Seite Blatt modal Präsentation auf dem 'iPad'.