This repository has been archived by the owner. It is now read-only.
Permalink
Cannot retrieve contributors at this time
executable file
41 lines (33 sloc)
1.3 KB
| /* This Source Code Form is subject to the terms of the Mozilla Public | |
| * License, v. 2.0. If a copy of the MPL was not distributed with this | |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
| import UIKit | |
| public protocol AccessibilityActionsSource: class { | |
| func accessibilityCustomActionsForView(_ view: UIView) -> [UIAccessibilityCustomAction]? | |
| } | |
| open class AccessibleAction: NSObject { | |
| open let name: String | |
| open let handler: () -> Bool | |
| public init(name: String, handler: @escaping () -> Bool) { | |
| self.name = name | |
| self.handler = handler | |
| } | |
| } | |
| extension AccessibleAction { // UIAccessibilityCustomAction | |
| @objc private func SELperformAccessibilityAction() -> Bool { | |
| return handler() | |
| } | |
| public var accessibilityCustomAction: UIAccessibilityCustomAction { | |
| return UIAccessibilityCustomAction(name: name, target: self, selector: #selector(SELperformAccessibilityAction)) | |
| } | |
| } | |
| extension AccessibleAction { // UIAlertAction | |
| private var alertActionHandler: (UIAlertAction!) -> Void { | |
| return { (_: UIAlertAction!) -> Void in | |
| _ = self.handler() | |
| } | |
| } | |
| public func alertAction(style: UIAlertActionStyle) -> UIAlertAction { | |
| return UIAlertAction(title: name, style: style, handler: alertActionHandler) | |
| } | |
| } |