mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 00:45:32 +00:00
59 lines
1.6 KiB
Swift
59 lines
1.6 KiB
Swift
//
|
|
// KeyboardPickerBarButtonItem.swift
|
|
// KeymanEngine
|
|
//
|
|
// Created by Gabriel Wong on 2017-09-12.
|
|
// Copyright © 2017 SIL International. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
public class KeyboardPickerBarButtonItem: UIBarButtonItem {
|
|
weak var presentingVC: UIViewController?
|
|
|
|
// Returns a UIBarButtonItem that will display the keyboard picker when tapped
|
|
// - since the keyboard picker is modal, a UIViewController must be supplied to display it
|
|
// - the button has default images for normal and landscape orientations
|
|
// - these can be overridden with other images or a title
|
|
public init(presentingVC: UIViewController) {
|
|
super.init()
|
|
style = .plain
|
|
action = #selector(self.showKeyboardPicker)
|
|
target = self
|
|
self.presentingVC = presentingVC
|
|
|
|
image = UIImage(named: "keyboard_icon", in: Resources.bundle, compatibleWith: nil)
|
|
|
|
if UIDevice.current.userInterfaceIdiom == .phone {
|
|
landscapeImagePhone = UIImage(named: "keyboard_icon_landscape",
|
|
in: Resources.bundle,
|
|
compatibleWith: nil)
|
|
}
|
|
}
|
|
|
|
public required init?(coder aDecoder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
deinit {
|
|
presentingVC = nil
|
|
}
|
|
|
|
@objc func showKeyboardPicker() {
|
|
if let presentingVC = presentingVC {
|
|
Manager.shared.showKeyboardPicker(in: presentingVC, shouldAddKeyboard: false)
|
|
}
|
|
}
|
|
|
|
public override var title: String? {
|
|
get {
|
|
return super.title
|
|
}
|
|
|
|
set(title) {
|
|
image = nil
|
|
landscapeImagePhone = nil
|
|
super.title = title
|
|
}
|
|
}
|
|
}
|