ViewController о котором идет речь, внедренные в UINavigationController
и представлены в виде .FormSheet
следующим образом:Override Formsheet Размер-Классы
class PLViewController:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.translucent = false
}
/// Embeds self into a UINavigationController, adds a "done" button to the navVC and uses the passed ViewController to present self embedded in the NavigationController.
/// - Parameters:
/// - presentingVC: ViewController which will present the formSheet.
/// - animated: If TRUE, the presentation of the formsheet will be animated.
func presentAsFormSheet (presentingVC:UIViewController, animated:Bool, completion:(() -> Void)?) {
let navVC = UINavigationController(rootViewController: self)
navVC.modalPresentationStyle = .FormSheet
let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: Selector("dismissFormSheet"))
doneButton.tintColor = GlobalVars.cautionColor
navigationItem.setLeftBarButtonItem(doneButton, animated: false)
presentingVC.presentViewController(navVC, animated: true, completion: completion)
}
/// Dismisses this ViewController with animation from a modal state.
func dismissFormSheet() {
dismissViewControllerAnimated(true, completion: nil)
}
}
Когда ВК представлен в «плавающем» formsheet образом (не-полноэкранном режиме модального) она должна вести себя по существу, как показано ниже:
Кроме того, расположение должно быть дополнительно манипулировать, если приложение находится в любом экране 1/3 разделения (но не 2/3-х), либо на iPhone в целом. Часть iPhone достаточно проста, чтобы выяснить, в основном проверить тип устройства и соответственно отреагировать на код.
Есть ли знать, что на iPad, а) в режиме разделения экрана и b) использовать 1/3, 1/2 или 2/3?