как программно установить ключ возврата для определенного uitextfield?

<p>я не могу поверить, что этот вопрос еще не был задан, но я не смог его найти, так что это мое предположение.</p><p>я создал собственные подклассы <code>uitableviewcel</code>l, используя interface builder. каждый из них содержит <code>uilabel</code> и <code>uitextfield</code> и используется для нашего экрана входа в систему.</p><p>на первой <code>uitextfield</code> я хочу, чтобы клавиша на клавиатуре говорила <code>next</code>. тем не менее, на втором <code>uitextfield</code>, я хочу, чтобы он сказал "готово".</p><p>как программно изменить значение <code>return key</code> на клавиатуре? я не могу использовать <code>interface builder</code>, так как это приведет к тому, что оба ключа будут отображаться как <code>done</code>.</p><p>спасибо!</p>

<p>для первого <code>uitextfield</code>, прочитайте <a href="http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key">это</a> учебник о том, как создать кнопку на клавиатуре. вы можете изучить логику и использовать кнопку <code>next</code> вместо кнопки <code>done</code>.</p><pre><code> //if you just want to make it appear next// textfield.returnkeytype = uireturnkeynext; </code></pre><p>а для второй <code>uitextfield</code> используйте ...</p><pre><code> // for done // textfield.returnkeytype = uireturnkeydone; </code></pre><p>в общем случае вы можете создать и переименовать кнопку в любом месте и убедиться, что вы даете право <code>ibaction</code> в случае нажатия этой кнопки. если вы создадите свою собственную кнопку, посмотрите учебник выше, чтобы узнать, как разместить ее в нужных координатах и прочее. </p>

<p>это также можно сделать, установив свойство в файле .xib. вам просто нужно установить свойство <code>return key</code> для <code>uitextfield</code> в <code>next</code> в <code>attribute inspector</code>.</p>

<p>вы должны вызвать <code>[textview reloadinputviews];</code> после установки типа клавиши возврата, чтобы немедленно обновить внешний вид клавиши возврата клавиатуры.</p><p>сделайте это следующим</p><p><code>textview.returnkeytype = uireturnkeydone; [textview reloadinputviews];</code></p>

<p>в swift 4 следующий код может использоваться для замены «кнопки возврата» на клавиатуре на «кнопку поиска» или «кнопку готовности»:</p><pre><code>yourtextfield.returnkeytype = uireturnkeytype.search yourtextfield.returnkeytype = uireturnkeytype.done </code></pre>