Пользовательский вид ввода в виде клавиатуры для текстового поля в Swift с использованием OSX 10.9 и Xcode 6.1.1 +

У меня возникают проблемы с подключением кнопок после загрузки пользовательской клавиатуры ввода. Мои главные экраны - это раскадровка, и мой пользовательский вид - это xib.

Представление ввода представляет собой наконечник с владельцем файла, указывающий на его быстрый класс. Я загружаю входное представление с кодом в другом контроллере представления, используя:

extension UIView {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIView? {
    return UINib(
        nibName: nibNamed,
        bundle: bundle
        ).instantiateWithOwner(nil, options: nil)[0] as? UIView
}
}

Внутри основного контроллера представления я создаю представление ввода с помощью:

var myInputView = UIView.loadFromNibNamed("keypadInputViewController", bundle: nil)

keypadInputViewController - это базовое имя xib и его быстрый файл и имя класса в swift файле.

Я прикрепляю эту клавиатуру, используя:

self.widthBox.inputView = self.myInputView

Затем открывается клавиатура, когда открывается обычная клавиатура ios.

Проблема заключается в том, что как только я добавляю коннекторы для кнопок с клавиатуры KeyViewController xib в свою очередь, я получаю сообщение об ошибке. Сообщение специально ссылается на любые созданные мной соединения. "этот класс не является ключевым значением, совместимым с кодировкой для ключа"

xib содержит представление с дюжиной кнопок.

Я дважды проверил несколько элементов, включая:

  • Владелец файла установлен на клавиатуруInputViewController
  • запущен в Xcode
  • run reset в симуляторе iOS
  • удаленные вручную файлы в библиотеке
  • удаленная ссылка и добавлен xib и swift файл для проекта
  • удалены все соединения из xib в swift как в файле, так и в файле просмотреть разделы
  • закрыт и вновь открыт Xcode
  • попробовал бета-версию 4 для Xcode 6.2
  • Я открыл xcode и создал тестовый проект ios, добавил cocoa коснитесь класса и установите флажок create xib. Сбой тестового проекта с той же ошибкой, как только я добавлю кнопки.

После долгого поиска я обнаружил, что не устанавливать владельца на себя не разрешат использовать кнопки. Поэтому я изменил расширение на:

extension UIView {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIView? {
    return UINib(
        nibName: nibNamed,
        bundle: bundle
        ).instantiateWithOwner(self, options: nil)[0] as? UIView
}}

Я все еще не могу установить представление владельцу файла. Приложение сработает при компиляции, если подключена розетка, или на кнопке нажмите, если действие подключено, с ошибкой "непризнанный селектор, отправленный в класс"

Я не знаю, является ли это я или Xcode. Как мне заставить эту клавиатуру принимать соединения, чтобы я мог двигаться дальше? Я думаю, что, возможно, я не добавил ничего важного для определения класса или не загружал этот xib правильно. Идеи?

+4
источник поделиться

На данный вопрос пока никто не ответил

Посмотрите аналогичные вопросы:

или похожие:

Посмотрите другие вопросы по меткам или Задайте вопрос