2016-05-24 3 views
1

Я создал пользовательский вид ввода текста и пытаюсь заставить клавиатуру отображать все колпачки на клавиатуре; аналогично UITextField. Вот то, что я пытался, но он не работает для меня:UIKeyInput with All Caps Keyboard

class CustomInput: UIView, UIKeyInput { 

    // UIKeyInput inherits this property 
    var autocapitalizationType: UITextAutocapitalizationType { 
     get { return .AllCharacters } 
     set { } 
    } 

} 

Я надеялся, что переопределение переменного и только позволяя .AllCharacters вынудят клавиатуры заглавных букв, но это не так. Любые идеи, как я могу получить клавиатуру для всех кепок?

+0

Не было бы проще (и более приемлемо) изменить символы ввода UITextField'а в столицы? – ZGski

+0

Я могу сделать все символы, которые отображаются на экране в верхнем регистре с помощью 'text.uppercaseString', но это не моя проблема. Моя проблема - это клавиши на клавиатуре, показывающие строчные буквы. Я хочу, чтобы ключи были заглавными. – keithbhunter

+0

@ZGski. В UITextField не участвует. Речь идет о пользовательском представлении ввода. – rmaddy

ответ

0

У меня такая же проблема в приложении, над которым я сейчас работаю. Проведя много времени, пытаясь понять это, тем более, что autocorrectionType и keyboardType оба, похоже, работают нормально.

В настоящее время мой рабочий процесс заключается в том, чтобы сделать свое обычное представление UITextInput вместо UIKeyInput, с фиктивным кодом для всех неиспользуемых свойств и функций. Чрезвычайно уродливая работа, но это единственный способ заставить его работать, поэтому я бегу с ним.

Было бы интересно узнать, есть ли у кого-нибудь понимание основной проблемы здесь.

+0

Я открыл радар для этого через пару дней после того, как я разместил вопрос. Я еще ничего не слышал от Apple. – keithbhunter

+0

Хорошо, что заставляет меня чувствовать себя хорошо - играли с этим широко, и в конце единственное, что я мог себе представить, было ошибкой. – jvmeer