Я только что столкнулся с точно такой же проблемой!Для меня это похоже на ошибку - область, зарезервированная для кнопки очистки, обрезает заполнитель справа.Обходной путь, который я нашел, это изменить стиль кнопки очистки на «всегда», что является неправильным обозначением, поскольку фактически кнопка очистки все еще не отображается, когда заполнитель виден (то есть, когда текст пуст):
textField.clearButtonMode = UITextFieldViewModeAlways;
Это означает, что заполнитель не выровнен полностью вправо (оставляя место для кнопки очистки, даже если ее там нет), что было бы хорошо, если бы кнопка очистки действительно отображалась!Это можно исправить, если убедиться, что UITextField всегда содержит пробел вместо пробела, что заставляет кнопку очистки отображаться всегда (а это значит всегда!).