12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- //
- // TextViewSpecialCaseViewController.swift
- // IQKeyboard
- //
- // Created by Iftekhar on 23/09/14.
- // Copyright (c) 2014 Iftekhar. All rights reserved.
- //
- import UIKit
- class TextViewSpecialCaseViewController: UIViewController, UITextViewDelegate, UIPopoverPresentationControllerDelegate {
- @IBOutlet var buttonPush: UIButton!
- @IBOutlet var buttonPresent: UIButton!
- override func viewDidLoad() {
- super.viewDidLoad()
- if self.navigationController == nil {
- buttonPush.isHidden = true
- buttonPresent.setTitle("Dismiss", for: .normal)
- }
- }
- override func viewWillAppear (_ animated: Bool) {
- super.viewWillAppear(animated)
- }
- func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
- if text == "\n" {
- textView.resignFirstResponder()
- }
- return true
- }
- @IBAction func presentClicked (_ barButton: UIButton!) {
- if (navigationController) != nil {
- if let controller = self.storyboard?.instantiateViewController(withIdentifier: "TextViewSpecialCaseViewController") {
- present(controller, animated: true, completion: nil)
- }
- } else {
- dismiss(animated: true, completion: nil)
- }
- }
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- if let identifier = segue.identifier {
- if identifier == "SettingsNavigationController" {
- let controller = segue.destination
- controller.modalPresentationStyle = .popover
- controller.popoverPresentationController?.barButtonItem = sender as? UIBarButtonItem
- let heightWidth = max(UIScreen.main.bounds.width, UIScreen.main.bounds.height)
- controller.preferredContentSize = CGSize(width: heightWidth, height: heightWidth)
- controller.popoverPresentationController?.delegate = self
- }
- }
- }
- func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
- return .none
- }
- func prepareForPopoverPresentation(_ popoverPresentationController: UIPopoverPresentationController) {
- self.view.endEditing(true)
- }
- override var shouldAutorotate: Bool {
- return true
- }
- }
|